insérer une variable dans le nom d'un fichier

dgino

XLDnaute Nouveau
Bonjour,
J'ai une feuille nommé "1" dans le fichier suivi.xls

Dans cette feuille, j'ai une cellule contenant :
='chemin d'accès[1-PPI.xls]A5 - N+2'!$B$11

Elle affiche donc la cellule B11 de la feuille "A5- N+2" contenu dans le fichier "1-PPI.xls"

Je voudrais dans cette formule, à la place du 1, mettre le nom de la feuille utilisée
car je voudrais faire ça avec plusieurs feuilles : celle qui s'appelle "1" et dont une cellule utilise le fichier 1-PPI.xls, puis celle qui s'appelle "2" et dont une cellule utilise le fichier 2-PPI.xls, et etc...

je connais déjà la formule pouvant récupérer le nom de la feuille :
=STXT(CELLULE("filename";A1);TROUVE("]";CELLULE("filename";A1))+1;32)

Si je mets par exemple cette formule dans D12 de la feuille 1, ça m'affiche 1
Si je met directement D12 à la place de 1 dans la formule ='chemin d'accès[1-PPI.xls]A5 - N+2'!$B$11 c'est à dire ='chemin d'accès[D12-PPI.xls]A5 - N+2'!$B$11, évidemment ça ne marche pas. Il doit peu-être manquer quelque chose qui spécifie que c'est une variable.

Comment faire pour que cela marche s'il vous plait ?
Cordialement,
 
Dernière édition:

dgino

XLDnaute Nouveau
Re : insérer une variable dans le nom d'un fichier

Bonjour.
Avec un peu plus de conviction :
Code:
=INDIRECT("'chemin d'accès["&$D$12&"-PPI.xls]A5 - N+2'!$B$11")

Merci mais désolai ça ne marche pas, ça me met #REF

Pour faire plus simple, j'ai créer une varaible dans la cellule A4 : =D12&"-PPI.xlsx" qui concatène le contenu de D12 et -PPI.xls
ça m'affiche bien le nom du fichier excel voulu, 1-PPI.xls en l'occurence dans la feuille 1.

je n'ai plus qu'à remplacer la formule
='chemin d'accès[1-PPI.xls]A5 - N+2'!$B$11
par :
='chemin d'accès[A4]A5 - N+2'!$B$11

Seulement je ne sais pas quoi mettre avec A4 pour faire comprendre à excel que c'est le contenu de A4 et non le texte A4 dont je veux me servir dans ma formule

si vous me suivez...
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : insérer une variable dans le nom d'un fichier

C'est INDIRECT qu'il faut utiliser, pas d'autre solution.
Dans votre dernier exemple, complètement différent, ce serait :
Code:
=INDIRECT("'chemin d'accès["&$A$4&"]A5 - N+2'!$B$11")
Notez que si le classeur est ouvert, pas besoin du chemin d'accès
Code:
=INDIRECT("'["&$A$4&"]A5 - N+2'!$B$11")
 
Dernière édition:

dgino

XLDnaute Nouveau
Re : insérer une variable dans le nom d'un fichier

Mince, ça ne marche pas non plus
Ca me met toujours #REF
Tandis que la cellule de la formule ='chemin d'accès[1-PPI.xls]A5 - N+2'!$B$11 affiche le résultat correct et A4 affiche bien 1-PPI.xls

Finalement j'ai simplifié en concaténant :

C1="=chemin d'accès["
C2 ="]A5 - N+2'!$B$11"
C3=C1&A4&C2

donc C3 m'affiche le texte =chemin d'accès[fichier_excel.xls]A5 - N+2'!$B$11

simple question : comment faire pour utiliser ce texte en formule d'une autre cellule ?
 
Dernière édition:

dgino

XLDnaute Nouveau
Re : insérer une variable dans le nom d'un fichier

Finalement j'ai réessayé la formule =INDIRECT("'chemin d'accès["&$A$4&"]A5 - N+2'!$B$11") mais en ouvrant l'autre classeur en question et là, magie : ça marche ! sauf que je ne veux pas que ce classeur soit ouvert...
Or apparemment avec cette fonction on est obligé
C'est pourtant basique ce que je veux faire : dans une cellule initiale : récupérer le contenu d'une cellule qui se trouve dans un autre classeur dont le nom sera fonction du nom de la feuille ou se trouve la cellule initiale.
 
Dernière édition:

Discussions similaires

Réponses
10
Affichages
240

Statistiques des forums

Discussions
312 169
Messages
2 085 925
Membres
103 043
dernier inscrit
nouha nj