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

XL 2010 SIMPLIFIER FONCTION

  • Initiateur de la discussion Initiateur de la discussion mcj1997
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

mcj1997

XLDnaute Accro
Bonjour,

J'ai dans un fichier un grand de nombre de formule qui se ressemble avec une variable qui est le nom de la feuille, le fichier vers lequel je fais mes recherches et toujours le même mais sur différentes feuilles.

Dans l'exemple ci-dessous, le nom de la feuille est Véhicule neuf

=INDEX('[fichier source.xlsm]Véhicule neuf!$A$1:$H$21

J'aimerai mettre le nom de la feuille dans une cellule afin de modifier facilement les formules, par exemple je mettrai Véhicule neuf dans C12, comment écrire la formule pour avoir :

=INDEX('[fichier source.xlsm];C12;$A$1:$H$21

Merci d'avance,
 
Bonjour MCJ,JHA,
Utiliser Indirect.
Si le nom de la feuille est en A1, vous pouvez utiliser :
VB:
=INDEX(INDIRECT("'"&A1 & "'!$A$1:$H$21");1;1)
Ne pas oublier les apostrophes avant et après le nom de la feuille.
 
Merci à tous les 2,

si véhicules neufs en A1, Est-ce cela ?


=INDEX(INDIRECT("P:\CALCUL \[fichier source.xlsm]"&A1 &"'!$A$1:$H$21;EQUIV(A33;(INDIRECT("P:\CALCUL \[fichier source.xlsm]"&A1 &"!$A:$A;0);EQUIV("Moyenne";(INDIRECT("P:\CALCUL \[fichier source.xlsm]"&A1 &"!$A$1:$I$1;0))

voici ma formule complète mais cela ne fonctionne pas.
 
Si en A1 j'ai : [classeur2.xlsm]Feuil1!
Alors cette formule marche (vérifié) :
VB:
=INDEX(INDIRECT(A1&"$A$1:$H$21");EQUIV(A33;INDIRECT(A1&"$A:$A");0);EQUIV("Moyenne";INDIRECT(A1&"$A$1:$I$1");0))
mais le fichier source doit être ouvert.
 
Dans la formule si je mets p:fichier source.xlsm &a1

et que dans a1 je mets seulement le nom de la feuille comme demandé dans poste 1 est ce que cela ne pourrait pas fonctionner avec fichier ouvert ?
 
C'était juste pour avoir une formule plus simple.
Si en A1 vous avez : Feuil1
Alors la formule devient :
VB:
=INDEX(INDIRECT("[Classeur2.xlsm]"&A1&"!$A$1:$H$21");EQUIV(A33;INDIRECT("[Classeur2.xlsm]"&A1&"!$A:$A");0);EQUIV("Moyenne";INDIRECT("[Classeur2.xlsm]"&A1&"!$A$1:$I$1");0))
Le fichier étant ouvert, le chemin complet n'est pas utile.
 
Bonjour,
Juste un essai.
Dans A1 j'ai Feuil1, et si je fais :
VB:
=INDIRECT("'C:\Users\PC_PAPA\Desktop\[Classeur2.xlsm]"&A1&"'!$B$1")
J'obtiens bien la valeur de B1 qui est dans Classeur2.xlsm qui est ouvert.
 
J'ai recopié la formule et cela ne fonctionne pas, le nom de la feuille est dans AK30

=INDEX(INDIRECT("’[P:\CALCUL\[fichier source.xlsm]"&AK30&"’!$A$1:$H$21");EQUIV(A25;INDIRECT("’[P:\CALCUL\[fichier source.xlsm] "&AK30&"’!$A:$A");0);EQUIV("Moyenne";INDIRECT("’[P:\CALCUL\[fichier source.xlsm] "&AK30&"’!$A$1:$I$1");0))
 
Toujours erreur #REF!


=INDEX(INDIRECT("’P:\CALCUL\[fichier source.xlsm]"&AK30&"’!$A$1:$H$21");EQUIV(A25;INDIRECT("’P:\CALCUL\[fichier source.xlsm] "&AK30&"’!$A:$A");0);EQUIV("Moyenne";INDIRECT("’P:\CALCUL\[fichier source.xlsm] "&AK30&"’!$A$1:$I$1");0))
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
315
Réponses
2
Affichages
332
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…