[RESOLU ]Changer de colonne suivant condition avec EQUIV EXCEL

Changer de colonne suivant condition avec EQUIV EXCEL [RESOLU ] - VB/VBA/VBS - Programmation

Marsh Posté le 30-06-2014 à 10:05:45    


 
 
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
Reply

Marsh Posté le 30-06-2014 à 10:05:45   

Reply

Marsh Posté le 30-06-2014 à 11:10:33    

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

Reply

Marsh Posté le 30-06-2014 à 11:41:55    

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
Reply

Marsh Posté le 30-06-2014 à 11:53:35    

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
Reply

Marsh Posté le 30-06-2014 à 12:19:02    

À 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.

Reply

Marsh Posté le 30-06-2014 à 13:03:28    

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

Reply

Marsh Posté le 30-06-2014 à 13:27:19    

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
Reply

Marsh Posté le 30-06-2014 à 18:12:14    

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
 

Reply

Marsh Posté le 01-07-2014 à 10:38:39    

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
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed