Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Récupérer une partie "d'adresse" depuis une fonction =GAUCHE(CELLULE("nomfichier")...

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

tchangy71

XLDnaute Occasionnel
Bonjour,

Voila je cherche à ouvrir un classeur (B) par macro depuis un autre classeur (A).
Ces derniers peuvent être situés n'importe ou sur le disque dur du PC.

Mais, toujours dans un même dossier...

Je m'explique :
On a un dossier nommé CLIENT (qui se trouve donc n'importe ou sur C🙂
Dans ce dossier j'ai :
- un autre dossier appelé A_Synthèse_CLIENT qui contient mon classeur A.
- mon classeur B
- et d'autre dossier comprenant des semblables de B que je devrais aussi ouvrir.

Grâce à la fonction ci dessous j'obtiens l'adresse de mon classeur A dans la cellule A1
Fonction : =GAUCHE(CELLULE("nomfichier");TROUVE("[";CELLULE("nomfichier"))-1)
Résultat : C:\DEV_EXCEL\CLIENT\A_Synthèse_CLIENT\

Voila, pour ouvrir mon classeur B il me faut la valeur de la cellule A1 mais "diminué de "A_Synthèse_CLIENT\"
car j'utilise un code du type :
Workbooks.Open Filename:= .Range("A1") & ...

Donc ma question est : comment je peux faire cela ? récupérer la valeur d'une cellule en supprimant la valeur contenue entre les deux derniers "\" et bien sur le dernier "\" ?

Merci d'avance

Cordialement,
Philippe
 
Re : Récupérer une partie "d'adresse" depuis une fonction =GAUCHE(CELLULE("nomfichier

Bonjour,

Si je comprends, tu souhaites que la formule renvoie : C:\DEV_EXCEL\CLIENT\

Une petite question afin de ne pas compliquer inutilement la formule : as-tu toujours trois \ dans le chemin ?
 
Re : Récupérer une partie "d'adresse" depuis une fonction =GAUCHE(CELLULE("nomfichier

Bonjour :

Code:
fin = "A_Synthèse_CLIENT"
[a2] = Mid([a1], 1, InStr(1, [a1], fin) - 1)

La valeur cherchée sera mise dans la cellule A2.
Tu peux remplacer [a2] par une variable...
 
Re : Récupérer une partie "d'adresse" depuis une fonction =GAUCHE(CELLULE("nomfichier

Bonjour,

Je suis vraiment désolé de ne répondre que maintenant mais j'ai du laisser les macros VBA de coté pour un petit temps...

Justement non il n'y as pas forcement que trois \ dans le chemin, mais bien sur nous pouvons nous organiser afin qu'il n'y en ait que trois.
Pour info lorsque j'ai mis C:\DEV_EXCEL\CLIENT (client est en faite une variable qui va donc porter le nom du client !!, ce qui pose problème avec la formule de unrender).
 
Re : Récupérer une partie "d'adresse" depuis une fonction =GAUCHE(CELLULE("nomfichier

Bonjour,

Sans grande garantie !

En supposant que tu veux couper après le troisième \ :
Code:
=GAUCHE(CELLULE("nomfichier");CHERCHE("µ";SUBSTITUE(CELLULE("nomfichier");"\";"µ";3)))
Si ce n'est pas le troisième, modifie en conséquence le 3 en fin de formule.
Pour rappel (si nécessaire), cela ne fonctionne que pour un fichier enregsitré.
 
Re : Récupérer une partie "d'adresse" depuis une fonction =GAUCHE(CELLULE("nomfichier

Bonjour à tous,

Essaie cette ligne :
VB:
MsgBox Mid([A1], 1, InStrRev([A1], "\") - 1)
avec en A1, le chemin dont tu veux trouver le répertoire parent.
 
- 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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…