Objectif :
Lier deux classeurs qui sont dans un même dossier par chemin relatif afin de pouvoir déplacer le dossier tout en conservant les liaisons.
A.xlsx (Classeur Source)
B.xlsx (Classeur recevant les données du classeur A.xlsx)
1) Par chemin absolu (Formule basique) :
Utiliser simplement un chemin absolu, en faisant ceci Excel peut lire un fichier fermé mais PROBLEME, si je souhaite déplacer mon dossier à un autre emplacement, la liaison est alors rompu.
='C:\Lier\[A.xlsx]Feuil1'!A2
2) Par chemin relatif (Utilisation de la formule INDIRECT) :
Cette fois ci, j'utilise la formule "CELULLE" pour déterminer le répertoire courant, j'ajoute à ceci le nom du classeur et la cellule utilisé puis j'utilise la fonction "INDIRECT" et PROBLEME, ça marche uniquement lorsque les deux classeurs sont ouvert car la fonction "INDIRECT" ne peut pat lire dans un classeur fermé.
=INDIRECT("'"&GAUCHE(CELLULE("filename");TROUVE("[";CELLULE("filename"))-1)&"[A.xlsx]Feuil1'!"&ADRESSE(LIGNE();COLONNE()))
3) Par fonction personnalisé : C'EST LA QUE j'AI BESOIN DE VOTRE AIDE
L'idée de base, utiliser une fonction personalisée avec comme unique paramètre "NomFichierSource".
Les deux classeurs se trouve dans le même répertoire, j'ai donc pensé à utiliser
thisworkbook.path
pour récupérer le répertoire courant.
Et l'adresse de la cellule renvoyé étant la cellule où est exécuter la formule.
Je pense que le troisième essais est réalisable mais je n'ai pas encore les compétences et c'est pour ceci que je vous sollicite.
Si vous avez d'autres pistes, n'hésitez pas, je suis preneur.
Merci d'avance