Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Obtenir un nom de fichier a partir de son chemin (vba)

8 réponses
Avatar
pierref
Bonjour,

A partir de la methode "Application.GetOpenFilename" (utilisée en sélection
multiple), je récupère une liste de chemins de fichiers dans un tableau.

Je souhaite parcourir ce tableau et en extraire seulement les noms de
fichiers.

Pourriez vous me dire quelle méthode utiliser ?

Par avance merci

Pierre

8 réponses

Avatar
JB
Bonjour,

x = "c:xxx.xls"
y = Mid(x, InStrRev(x, "") + 1) ' Excel 2000+

Cordialement JB
Avatar
pierref
Merci !

Par contre la fonction InStrRev n'est valable qu'a partir de Excel 2000+ ?
Mon fichier contenant cette fonction sera distribué sur des postes dont
j'ignore la version d'office (il peut y avoir de tout...)

Je risque peut etre d'avoir des problemes de compatibilités ?

A bientot


Bonjour,

x = "c:xxx.xls"
y = Mid(x, InStrRev(x, "") + 1) ' Excel 2000+

Cordialement JB




Avatar
papou
Bonjour
Il y a la méthode GetBaseName du FileSystemObject qui te permet de renvoyer
le nom du fichier mais sans extension.
Donc avec une bidouille comme ça tu devrais t'en sortir :
dim nomcompletfic
dim fso
dim nomfic
set fso = createobject("Scripting.FileSystemObject")
nomfic = fso.GetBaseName(nomcompletfic) & right(nomcompletfic,4)

Cordialement
Pascal

"pierref" a écrit dans le message de
news:
Bonjour,

A partir de la methode "Application.GetOpenFilename" (utilisée en
sélection
multiple), je récupère une liste de chemins de fichiers dans un tableau.

Je souhaite parcourir ce tableau et en extraire seulement les noms de
fichiers.

Pourriez vous me dire quelle méthode utiliser ?

Par avance merci

Pierre


Avatar
papou
Re
Bon, il faut m'excuser je suis pas en pleine forme ;-)

Avec ça c'est beaucoup mieux :
fso.Getfilename(nomcompletfic)

Cordialement
Pascal

"pierref" a écrit dans le message de
news:
Bonjour,

A partir de la methode "Application.GetOpenFilename" (utilisée en
sélection
multiple), je récupère une liste de chemins de fichiers dans un tableau.

Je souhaite parcourir ce tableau et en extraire seulement les noms de
fichiers.

Pourriez vous me dire quelle méthode utiliser ?

Par avance merci

Pierre


Avatar
JB
Toutes versions:

Sub essai()
x = "c:xxx.xls"
p = InstrRev2(x, "")
If p > 0 Then y = Mid(x, p + 1)
MsgBox y
End Sub
Function InstrRev2(MaChaîne, car) ' existe en 2000
Dim p, i
p = 0
i = Len(MaChaîne)
Do While i > 1 And p = 0
If Mid(MaChaîne, i, 1) = car Then
p = i
End If
i = i - 1
Loop
InstrRev2 = p
End Function

JB
Avatar
Christian.Bernard
Bonjour

Je suis sur la version 2003 et je n'ai pas la fonction "InStrRev"

Christian


"JB" a écrit dans le message de news:

Bonjour,

x = "c:xxx.xls"
y = Mid(x, InStrRev(x, "") + 1) ' Excel 2000+

Cordialement JB



Avatar
Michel Pierron
Bonjour pierref;
Simplement:
Nom de fichier = Dir(Chemin complet)

MP

"pierref" a écrit dans le message de
news:
Bonjour,

A partir de la methode "Application.GetOpenFilename" (utilisée en
sélection
multiple), je récupère une liste de chemins de fichiers dans un tableau.

Je souhaite parcourir ce tableau et en extraire seulement les noms de
fichiers.

Pourriez vous me dire quelle méthode utiliser ?

Par avance merci

Pierre


Avatar
pierref
Merci à tous !

Finalement j'ai utilisé la solution de Michel qui est très simple.
Je connaissais la fonction Dir mais je ne savais pas qu'elle renvoyait un
nom de fichier.

A bientôt

Pierre


Bonjour,

A partir de la methode "Application.GetOpenFilename" (utilisée en sélection
multiple), je récupère une liste de chemins de fichiers dans un tableau.

Je souhaite parcourir ce tableau et en extraire seulement les noms de
fichiers.

Pourriez vous me dire quelle méthode utiliser ?

Par avance merci

Pierre