Récupération chemin fichier

Bonjour,

Je suis sur Excel Mac, je veut récupérer le chemin dans une table pour en modifier quelques éléments, changer de dossier par exemple.

Quand je fais l'open, je vois bien le chemin dans ma variables mais il n'accepte pas que je fasse un "split" pour faire ces modifs

Avez-vous une solution pour moi ?

bonjour,

une petite fonction de substitution :

Function SubstSplit(Str$, Optional D$ = " ")
Dim i%, S$, Pos%, K%, C As New Collection
Dim MyArray()
   Pos = 1
   K = InStr(Pos, Str, D)
   Do While K > 0
       S = Mid(Str, Pos, K - Pos)
       C.Add S
       Pos = K + 1
       K = InStr(Pos, Str, D)
   Loop
   S = Mid(Str, Pos, Len(Str))
   C.Add S
ReDim Preserve MyArray(C.Count)
   For i = 1 To C.Count
MyArray(i) = C(i)
Next
SubstSplit = MyArray
End Function

Sub test()
Dim Arr()
Arr = SubstSplit("lundi\mardi\mercredi\jeudi", "\")
Debug.Print Arr(3)
End Sub

A+

Merci d'avoir répondu.

Ton code marche très bien mais, il y a toujours un mais, en fait je veux récupérer d'abord le chemin du fichier que je viens de choisir dans la boite de dialogue de "choix de fichier à ouvrir". Je récupère bien le contenu mais pas le chemin pour pouvoir ensuite le ré-enregistrer une fois modifié dans un nouveau dossier avec un nouveau chemin, bien entendu, que j'aurais recréé.

Voilà en fait plus précisément ce que je veux faire.

A+ rdi:

Tes explications sont oiseuses...

Si j'enregistre une macro avec Fichier ouvrir, j'obtient ça :

Sub Macro1()
 Workbooks.Open Filename:= _
        "C:\Users\Utilisateur\Desktop\Documents\_EXC\Suivi Ménage.xlsm"
End Sub

par suite avec la macro (SubstSplit) citée plus haut tu peux écrire :

Sub test1()
Dim Arr(), NomEtChemin$, i%, chemin$
NomEtChemin = "C:\Users\Utilisateur\Desktop\Documents\_EXC\Suivi Ménage.xlsm"
Arr = SubstSplit(NomEtChemin, "\")
For i = 1 To UBound(Arr) - 1
chemin = chemin & Arr(i) & "\"
Next
Debug.Print chemin
End Sub

ou encore si tu ne veux pas passer par l'enregistreur (mais toujours avec SubstSplit...)

Sub test2()
Dim chemin$, NomEtChemin$, Arr(), i%
NomEtChemin$ = Application.GetOpenFilename
Arr = SubstSplit(NomEtChemin, "\")
For i = 1 To UBound(Arr) - 1
chemin = chemin & Arr(i) & "\"
Next
Debug.Print chemin
End Sub

A+

Rechercher des sujets similaires à "recuperation chemin fichier"