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

Précision sur macro pour récupérer le chemin d'un fichier

2 réponses
Avatar
julius
Bonjour

Je cherche =E0 r=E9cup=E9rer le chemin d'acc=E8s d'un fichier par vba.
Le sujet a =E9t=E9 abord=E9 =E0 plusieurs reprises dans le site et une des
r=E9ponses me convient bien:


Public Function fstrFichierUtilisateur() As String
Dim MyDialog As Dialog, RetourDial As Integer
Dim Nom As String, Chemin As String, NomComplet As String
Set MyDialog =3D Dialogs(wdDialogFileOpen)
RetourDial =3D MyDialog.Display
If RetourDial =3D -1 Then
Nom =3D MyDialog.Name
Chemin =3D CurDir
' NomComplet =3D Chemin & "\" & Nom
fstrFichierUtilisateur =3D Chemin & "\" & Nom
Else
fstrFichierUtilisateur =3D ""
End If
End Function

.=2E.sauf que dans le nom du chemin, le nom du fichier (Nom) apparait
entre guillemets, d'o=F9 plantage de la macro car les guillemets sont en
trop.
Est-ce qu'il y'a moyen de d=E9finir la variable Nom d'une autre mani=E8re
pour que la valeur r=E9cup=E9r=E9e ne soit pas entre guillemets ??? (J'ai
essay=E9 de faire Nom =3D MyDialog.value mais apparement la syntaxe n'est
pas bonne)

merci de votre aide

2 réponses

Avatar
Anacoluthe
Bonjour !

'julius' nous a écrit ...
Public Function fstrFichierUtilisateur() As String
Dim MyDialog As Dialog, RetourDial As Integer
Dim Nom As String, Chemin As String, NomComplet As String
Set MyDialog = Dialogs(wdDialogFileOpen)
RetourDial = MyDialog.Display
If RetourDial = -1 Then
Nom = MyDialog.Name

...sauf que dans le nom du chemin, le nom du fichier (Nom) apparait
entre guillemets, d'où plantage de la macro car les guillemets sont en
trop.


Ben alors supprimez les guillemets en ajoutant ci après la ligne :
Nom = Replace(Nom, Chr(34), "")
c'est ti mieux ?

Anacoluthe
« Entre guillemets le mot le plus banal peut devenir équivoque. »
- Jules RENARD

Avatar
julius
c'est effectivement bcp mieux
un grand merci (je ne connaissais pas le coup du Chr(34))