Résolu Insérer la fonction indirect en deuxième partie de ma formule

eric1989

XLDnaute Nouveau
Bonsoir à tous,

Je fais appelle à votre savoir car je bloque totalement sur une fin de formule…





Enfaite, je souhaite insérer la fonction indirect (qui est en cellule C1).

J'ai déjà pu faire le 3/4 de ma formule mais la fin ne s'insère pas… Ca me mets toujours un message d'erreur.

Je vous remercie par avance pour votre coup d'œil.





Ci-dessous la formule actuelle qui fonctionne mais sur laquelle je souhaite insérer la fonction indirect (sur la seconde partie de ma formule):

VB:
=SI(ESTNA(CONCATENER((INDEX(INDIRECT("'[mon fichier.xls]"&C1&"'!$A$9:$A$140");EQUIV(A9;INDIRECT("'[mon fichier.xls]"&C1&"'!$F$9:$F$140";0))));

SI((INDEX(INDIRECT("'[mon fichier.xls]"&C1&"'!$A$9:$A$140");EQUIV(A9;INDIRECT("'[mon fichier.xls]"&C1&"'!$F$9:$F$140";0))))=(INDEX(INDIRECT("'[mon fichier.xls]"&C1&"'!$A$1:$A$140");MAX((INDIRECT("'[mon fichier.xls]"&C1&"'!$F$1:$F$140")=A9)*LIGNE($1:$140))));
" ";
"+");
SI((INDEX(INDIRECT("'[mon fichier.xls]"&C1&"'!$A$9:$A$140");EQUIV(A9;INDIRECT("'[mon fichier.xls]"&C1&"'!$F$9:$F$140"));MAX((INDIRECT("'[mon fichier.xls]"&C1&"'!$F$1:$F$140")=A9)*LIGNE($1:$140))))=((INDEX(INDIRECT("'[mon fichier.xls]"&C1&"'!$A$9:$A$140");0)));
"";
(INDEX(INDIRECT("'[mon fichier.xls]"&C1&"'!$A$9:$A$140");MAX((INDIRECT("'[mon fichier.xls]"&C1&"'!$F$1:$F$140")=A9)*LIGNE($1:$140)))))));
"";
CONCATENER((INDEX(INDIRECT("'[mon fichier.xls]"&C1&"'!$A$9:$A$140");EQUIV(A9;INDIRECT("'[mon fichier.xls]"&C1&"'!$F$9:$F$140");0)));
SI((INDEX(INDIRECT("'[mon fichier.xls]"&C1&"'!$A$9:$A$140")

;EQUIV(A9;'[mon fichier.xls]1'!$F$9:$F$140;0)))=(INDEX('[mon fichier.xls]1'!$A$1:$A$140;MAX(('[mon fichier.xls]1'!$F$1:$F$140=A9)*LIGNE($1:$140))));
" ";
"+");
SI((INDEX('[mon fichier.xls]1'!$A$1:$A$140;MAX(('[mon fichier.xls]1'!$F$1:$F$140=A9)*LIGNE($1:$140))))=(INDEX('[mon fichier.xls]1'!$A$9:$A$140;EQUIV(A9;'[mon fichier.xls]1'!$F$9:$F$140;0)));
"";
(INDEX('[mon fichier.xls]1'!$A$1:$A$140;MAX(('[mon fichier.xls]1'!$F$1:$F$140=A9)*LIGNE($1:$140)))))))
A valider avec CTRL+ALT+ENTER bien entendu.
 
Dernière édition:

eric1989

XLDnaute Nouveau
Bonjour,

À force de cogiter, je me suis apercu que ma formule n'avait plus aucun sens… Surtout avec tous ces SI et ces concatener hihihi

Voici la formule simplifiée qui fonctionne à la perfection:
VB:
=SI.NON.DISP(SI(INDEX(INDIRECT("'[mon fichier.xls]"&C1&"'!$A$9:$A$140");EQUIV(A9;INDIRECT("'[mon fichier.xls]"&C1&"'!$F$9:$F$140");0))<>INDEX(INDIRECT("'[mon fichier.xls]"&C1&"'!$A$1:$A$140");MAX((INDIRECT("'[mon fichier.xls]"&C1&"'!$F$1:$F$140")=A9)*LIGNE($1:140)));

INDEX(INDIRECT("'[mon fichier.xls]"&C1&"'!$A$9:$A$140");EQUIV(A9;INDIRECT("'[mon fichier.xls]"&C1&"'!$F$9:$F$140");0))
&"+"&
INDEX(INDIRECT("'[mon fichier.xls]"&C1&"'!$A$1:$A$140");MAX((INDIRECT("'[mon fichier.xls]"&C1&"'!$F$1:$F$140")=A9)*LIGNE($1:140)));

INDEX(INDIRECT("'[mon fichier.xls]"&C1&"'!$A$9:$A$140");EQUIV(A9;INDIRECT("'[mon fichier.xls]"&C1&"'!$F$9:$F$140");0)));"")
Bien entendu, a valider avec CTRL + ALT + ENTER

Et désolé pour mon message dans le vide… Peut-être que ca aidera quelqu'un un jour ;)
 

Discussions similaires


Haut Bas