paramétrer nom de fichier et d'onglet dans INDEX et EQUIV

  • Initiateur de la discussion Initiateur de la discussion dedef
  • 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 !

dedef

XLDnaute Occasionnel
Bonjour,
Je cherche à faire des consolidations de valeurs situées sur différents onglets de plusieurs fichiers.

Ma feuille de consolidation comporte
1) un titre en A1 qui me donne la colonne à aller chercher parmi les têtes de colonnes des tableaux dont je dois faire la consolidation
2) une tête de lignes (A3:A10) où je retrouve les valeurs des têtes de ligne des tableaux dont je dois faire la consolidation
3) une tête de colonne (B1:I1) où je retrouve les valeurs correspondant aux noms des fichiers à consolider
4) une sous-tête de colonne (C2:I2) où je retrouve les valeurs correspondant aux nom des onglets à consolider.

En imbriquant les fonctions INDEX et EQUIV, j'ai réglé les points 1) et 2) :
=INDEX('[résultats 01.xls]Achats'!$A$1:$I$10;EQUIV($A$3;'[résultats 01.xls]Ventes'!$A$1:$A$10;0);EQUIV($A$1;'[résultats 01.xls]Ventes'!$A$1:$I$1;0))

Il me reste donc à paramètrer "'[résultats 01.xls]Achats'" dans ces formules, où:
- "résultats 01" figure en tête de colonne : 3)
- "Achats" figure en sous tête de colonne : 4)

Et là, je coince.
J'ai essayé la fonction TEXTE mais elle n'est pas adaptée.
Il faut peut-être que j'utilise la fonction INDIRECT, mais je ne vois pas comment l'imbriquer dans ma formule ci-dessus.

Merci à qui pourra me donner un petit coup de pouce.
 
Re : paramétrer nom de fichier et d'onglet dans INDEX et EQUIV

Si le nom de fichier est en B1 seulement, la formule est recopiable:

=INDEX(INDIRECT("'["&DECALER(B$1;0;-MOD(COLONNE();2))&".xls]"&B$2&"'!$A$1:$I$10");
EQUIV($A3;INDIRECT("'["&DECALER(B$1;0;-MOD(COLONNE();2))&".xls]"&B$2&"'!$A$1:$A$10");0);
EQUIV($A$1;INDIRECT("'["&DECALER(B$1;0;-MOD(COLONNE();2))&".xls]"&B$2&"'!$A$1:$I$1");0))

Si le nom de fichier est en B1 et C1, la formule est recopiable:

=INDEX(INDIRECT("'["&B$1&".xls]"&B$2&"'!$A$1:$I$10");
EQUIV($A3;INDIRECT("'["&B$1&".xls]"&B$2&"'!$A$1:$A$10");0);
EQUIV($A$1;INDIRECT("'["&B$1&".xls]"&B$2&"'!$A$1:$I$1");0))

JB
 

Pièces jointes

Dernière édition:
Re : paramétrer nom de fichier et d'onglet dans INDEX et EQUIV

Bonjour à tous,

En B3 de 'Consolidation' :

Code:
=INDEX(INDIRECT("'["&$B$1&".xls"&"]"&B$2&"'!$A$1:$F$9");EQUIV($A3;INDIRECT("'["&$B$1&".xls"&"]"&B$2&"'!$A$1:$A$8");0);EQUIV($A$1;INDIRECT("'["&$B$1&".xls"&"]"&B$2&"'!$A$1:$G$1");0))
En C3 de 'Consolidation' :

Code:
=INDEX(INDIRECT("'["&$B$1&".xls"&"]"&C$2&"'!$A$1:$F$9");EQUIV($A3;INDIRECT("'["&$B$1&".xls"&"]"&C$2&"'!$A$1:$A$8");0);EQUIV($A$1;INDIRECT("'["&$B$1&".xls"&"]"&C$2&"'!$A$1:$G$1");0))
A+ à tous
 
Re : paramétrer nom de fichier et d'onglet dans INDEX et EQUIV

Bonjour le Fil,
Hi JC🙂

n'apporte rien au fil, juste pour Saluer mon ami JC😀 C'est l'heuredu c....vert je m'en jette un et bon appétit!!!!!

A+ tout le monde
A++🙂🙂🙂
 
Re : paramétrer nom de fichier et d'onglet dans INDEX et EQUIV

Bonsoir,
Je reviens vers vous, car j'ai toujours un problème.
E$1 comporte le nom du fichier cible (XXX)
$F$1 comporte le nom de l'onglet cible dans le fichier cible
Le fichier dans lequel est écrit cette formule (YYY) n'est pas dans le même dossier que le fichier cible (XXX).
La formule ci-après marche parfaitement, sauf qu'après avoir fermé les 2 fichiers (XXX et YYY), à la réouverture du seul fichier YYY, il y a une erreur, car il essaye de recalculer chaque cellule.
Y-at'il moyen d'intégrer le chemin complet dans la formule INDIRECT?
=INDEX(INDIRECT("'["&E$1&".xls"&"]"&$F$1&"'!$A$1:$BU$161");LIGNE($A52);$D$1)/1000

Merci d'avance.
 
Re : paramétrer nom de fichier et d'onglet dans INDEX et EQUIV

Bonjour,

Après avoir beaucoup cherché, j'ai compris que les données issues de INDIRECT ne peuvent pas prendre en compte un chemin de fichier : il faut que le fichier cible soit ouvert, au risque de tout perdre si ça n'est pas le cas.

Il existe une fonction INDIRECT.EXT qui répondrait à mon besoin, mais elle suppose une installation que je ne peux pas faire sur mon PC du boulot (il faut des droits administrateurs.

J'ai donc réglé mon problème en créant 2 macros
une pour copier/coller les valeurs avant enregistrements
une autre qui vient remplacer les valeurs par les formules stockées sur une feuille quand il y a lieu de resynchroniser les 2 fichiers.

Ca marche.
 
- 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

Retour