Fonction indirect vers un autre classeur

lalapo

XLDnaute Nouveau
Bonjour à tous,

J'aimerais utiliser la fonction Indirect dans le fichier A.xlsx pour récupérer une valeur dans le fichier B.xlsx fermé.
J'utilise jusqu'à maintenant le code :
'S:\Dossier1\Dossier2\Dossier3\[B.xlsx]Feuille3'!D$8 qui marche bien puisqu'il me renvoie la valeur désirée.

J'aimerais cependant que la valeur B.xlsx change automatiquement en fonction de la valeur présente dans la colonne T du fichier A.xlsx. J'écris donc :
=INDIRECT("'S:\Dossier1\Dossier2\Dossier3\["&T3&"]Feuille3'!D$8"), S étant un serveur partagé. Cela me renvoie #REF!, même si je mets en T3 la valeur B.xlsx.

Je teste donc la formule =INDIRECT("'S:\Dossier1\Dossier2\Dossier3\[B.xlsx]Feuille3'!D$8") et cela me renvoie #REF! également. Après plusieurs tests, il semblerait que la fonction INDIRECT ne prend pas en compte l'adresse avant les crochets.

Cela fonctionne en revanche si j'ouvre le fichier B.xlsx et que j'utilise la formule =INDIRECT("'["&T3&"]Feuille3'!D$8"). L'intérêt que je recherche est de ne pas à avoir à ouvrir les classeurs qui vont rapidement se révéler nombreux. Quelqu'un aurait-il une explication et une solution me permettant d'utiliser INDIRECT avec une adresse de fichier absolue ?

J'espère avoir été assez clair. Merci beaucoup de votre aide par avance !
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Fonction indirect vers un autre classeur

Bonjour lalapo, bienvenue sur XLD

INDIRECT ne fonctionne pas sur un classeur fermé, c'est bien connu, point barre.

Si vous ne voulez pas ouvrir le fichier, utilisez la méthode ADO, mais c'est compliqué.

Nombreux exemples sur le forum.

A+
 

Discussions similaires

Réponses
24
Affichages
1 K
Réponses
4
Affichages
291

Statistiques des forums

Discussions
312 204
Messages
2 086 198
Membres
103 153
dernier inscrit
SamirN