Formule : chemin d'accès trop long

Bonjour à tous,

j'utilise des fichiers qui sont dans un dossier réseau. Le chemin d'accès à ces fichiers est trèèèèès long et je souhaite utiliser un "raccourci" dans mes formules. Je m'explique :

au lieu d'avoir un chemin dans une formule de type : =Z:\dossier1\dossier2\dossier3\dossier4\.....\filename!A1 je souhaiterai avoir =path filename!A1.

J'ai créé une fonction personnelle :

Public Function lier()

Application.Volatile

mypath = ThisWorkbook.Path

End Function

Lorsque dans la formule je mets =mypath()&'filename'!A1 j'ai bien le contenu de la cellule A1 de l'autre fichier mais lorsque je reviens sur la cellule j'ai de nouveau le chemin entier vers le fichier. Je souhaite utiliser cette fonction, car j'ai 3 fichiers, et cela me permettra de les déplacer dans d'autres dossiers et mes formules fonctionneront toujours.

J'ai trouvé quelques postes mais ils ne répondant pas à ce que je cherche.

Merci pour votre aide.

Bonjour,

Etrange, personnellement je n'ai jamais vu excel modifier de lui même une formule et j'ai du mal à l'imaginer.

Tu peux mettre des captures par curiosité ?

Pas d'autre macro susceptible de le faire ?

Pas la peine de mettre volatile ta fonction, il ne change pas d'emplacement quand tu travailles avec je pense.

eric

Salut,

Pour ma part la longueur du chemin d'accès importe peu, le truc c'est surtout si le fichier change de place qu'il faut rechanger l'adresse.

Donc pour ce faire, j'ai créé un onglet système où je stock l'adresse du dossier racine dans la cellule A1 et ainsi de suite pour les autres.

Ce qui permet que tout le monde peu modifier le chemin d'accès le jour ou je suis pas là.

Côté macro tu à plus qu'à mettre un truc comme:

VPathFic = Sheets("System").Range("A1") & "/Public/Config/" & "Milestones.xls"

PS : je viens de voir ta fonction que j'avais à peine survolée.

Déjà elle est mal construite, et pour utiliser une fonction personnalisée on l'appelle par son nom.

Function chemin() As String
    chemin = ThisWorkbook.Path & Application.PathSeparator
End Function

et pour l'utiliser : =chemin()

eric

Re,

merci pour votre aide. Finalement j'ai opté pour une autre solution en créant une fonction qui déclare 3 variables (fichier; feuille, cellule). Je fais un split, je récupère la position pour chaque variable dans l'array et j'utilise thisworkbook.path pour récupérer le path.

Merci pour votre aide.

Rechercher des sujets similaires à "formule chemin acces trop long"