Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…