Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
1693 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [RESOLU ]Changer de colonne suivant condition avec EQUIV EXCEL

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[RESOLU ]Changer de colonne suivant condition avec EQUIV EXCEL

n°2232140
ticola
Posté le 30-06-2014 à 10:05:45  profilanswer
 


 
 
j'utilise la formule suivante pour récupérer mon engin suivant mon max de ma colonne:
=INDEX(Feuil3!E70:E89;            EQUIV(MAX(Feuil3!G70:G89)       ;Feuil3!G70:G89;0)                        )
 
Ce que j'aimerai c'est de choisir ma colonne de travail en fonction d'une condition comme par exemple
=MAX(SI(A37=Feuil3!G69:L69              ;Feuil3!G70:L89))
 
 
En gros pouvoir faire la même chose avec une condition A37 (liste déoulante) sauf que EQUIV n'en veut pas même avec validation matricielle ctrl + shift + enter...
Je ne sais pas comment faire.
 
merci de m'aider


Message édité par ticola le 02-07-2014 à 12:35:11
mood
Publicité
Posté le 30-06-2014 à 10:05:45  profilanswer
 

n°2232157
ticola
Posté le 30-06-2014 à 11:10:33  profilanswer
 

il semblerait que j'ai presque trouvé mon bonheur, seulement cette formule marche pas tout le temps allez savoir pourquoi, j'ai #REF qui apparait:
 
=INDEX(A1:A6;MAX((B2:D6=MAX(B2:D6))*LIGNE(B2:D6)))
 
pourtant ici ça marche
http://forum.excel-pratique.com/ex [...] 33546.html

n°2232165
MaybeEijOr​Not
but someone at least
Posté le 30-06-2014 à 11:41:55  profilanswer
 

Si tu n'as que 2 cas (ce qui m'étonnerait puisque tu utilises une liste déroulante) :

 
Code :
  1. =INDEX(A1:A6;SI(E1=1;EQUIV(MAX(B1:B6);B1:B6;0);EQUIV(MAX(C1:C6);C1:C6;0)))
 

Après si tu n'as pas trop de cas différents tu peux continuer en imbriquant des SI.

 

Colonne A : étiquettes
Colonne B : valeurs
Colonne C : autres valeurs
E1 : cellule liée à la liste déroulante


Message édité par MaybeEijOrNot le 30-06-2014 à 11:43:08
n°2232167
ticola
Posté le 30-06-2014 à 11:53:35  profilanswer
 

Merci de ta réponse, sinon j'ai penser à utiliser
=INDEX(Feuil3!E70:E89;            EQUIV(MAX(Feuil3!G70:G89)       ;Feuil3!G70:G89;0)                        )  
 
et le SI j'ai envie de l'utiliser comme ça
SI ( E1 = G69:L69; Et la me récupérer les valeurs de mes colonnes)
 
Si E1= G69 ça me donne G70:G89
Si E2 = H69 ça me donne H70:H89
...
 
Comme çà je me mets ça dans mon max puis basta:
EQUIV ( MAX ( SI(...); SI(...);0)
Donc comment récupérer mes plages des colonnes ?


Message édité par ticola le 30-06-2014 à 12:04:26
n°2232170
MaybeEijOr​Not
but someone at least
Posté le 30-06-2014 à 12:19:02  profilanswer
 

À ma connaissance tu ne peux pas récupérer une plage de cellules via la valeur d'une cellule si ce n'est en créant une référence à la plage.

n°2232177
ticola
Posté le 30-06-2014 à 13:03:28  profilanswer
 

Avec  mon tableau en haut c'est pas possible?
L'idée générale c'est j'ai un menu déroulant qui choisit le type de chantier.
Et je prends le max de la colonne et je lis l'engin.
une idée?  
 
Sinon je pars sur l'imbrication de SI

n°2232180
MaybeEijOr​Not
but someone at least
Posté le 30-06-2014 à 13:27:19  profilanswer
 

Voilà j'ai trouvé une solution :

 

http://img106.xooimage.com/files/b/1/6/hfrexcel-4673f3f.jpg

 

En E1 tu as la cellule liée à la liste déroulante, en F tu as les valeurs possibles dans la liste déroulante.
Donc quand tu sélectionnes "b" ça te donne une valeur de 1, en sélectionnant "c" ça te donne 2, "d" donne 3.
En fonction de ta sélection ça change de colonne et ça trouve un résultat différent.


Message édité par MaybeEijOrNot le 30-06-2014 à 13:28:47
n°2232225
ticola
Posté le 30-06-2014 à 18:12:14  profilanswer
 

Chapeau le index(...;1;..):index(...;20;..) oui moi c'est 20.
Bon ben problème résolu ;) Merci bcp.
 
Je laisse le post ouvert si jamais j'ai besoin d'ici cette semaine.
 
Encore merci
 

n°2232283
ticola
Posté le 01-07-2014 à 10:38:39  profilanswer
 

Salut, pour faire la formule précedente, j'ai fait une liste déroulante qui renvoie la position dans la celulle associée, mais je ne peux plus lire la valeur sélectionnée. Avant j'avais fait avec validation de données liste.
 
J'ai besoin sur ma liste type liste déroulante (bouton insérer)de lire la valeur une idée?
 
Edit: J'ai parlé trop vite il suffit normalement d'un INDEX()


Message édité par ticola le 01-07-2014 à 10:44:35

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [RESOLU ]Changer de colonne suivant condition avec EQUIV EXCEL

 

Sujets relatifs
Changer la couleur du input:active ?Changer la valeur d'une cellule d'un "tableau"
Changer le contenu d'une balise HTML avec Javascriptcondition avec date
condition avec dateVBA condition WHERE avec LIKE
VBA excel Suppression ligne sous conditionVBScript : Changer les droits d'utilisateur dans un domaine
Excel : Alimenter une colonne en fonction de deux critères[android]Changer un fragment avec un timer
Plus de sujets relatifs à : [RESOLU ]Changer de colonne suivant condition avec EQUIV EXCEL


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR