Par code VBA, comment peut-on r=E9cuperer dans une variable=20
String, au travers d'une boite de dialogue de type=20
Explorateur, le chemin et le nom d'un fichier?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jean-François Aubert
Salut Eddie, le nom et le chemin est récupéré dans la sub test()
maVariable = GetDirectory
de: http://perso.wanadoo.fr/frederic.sigonneau/code/Fichiers/BrowseForFolderOrFile.txt
'*************************************** 'J. Walkenbach Public Type BROWSEINFO hOwner As Long pidlRoot As Long pszDisplayName As String lpszTitle As String ulFlags As Long lpfn As Long lParam As Long iImage As Long End Type
'32-bit API declarations Declare Function SHGetPathFromIDList Lib "shell32.dll" _ Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long
Declare Function SHBrowseForFolder Lib "shell32.dll" _ Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long
Sub test() maVariable = GetDirectory End Sub
Function GetDirectory(Optional Msg) As String Dim bInfo As BROWSEINFO Dim path As String Dim r As Long, x As Long, pos As Integer
'Définit le Bureau comme dossier racine bInfo.pidlRoot = 0&
'Invite de la boite de dialogue If IsMissing(Msg) Then bInfo.lpszTitle = "Selectionnez un dossier." Else bInfo.lpszTitle = Msg End If
'Type de renvoi : dossier ' bInfo.ulFlags = &H1 'Type de renvoi : fichier bInfo.ulFlags = &H4000
'Affiche la boite de dialogue x = SHBrowseForFolder(bInfo)
'Traite le résultat path = Space$(512) r = SHGetPathFromIDList(ByVal x, ByVal path) If r Then pos = InStr(path, Chr$(0)) GetDirectory = Left(path, pos - 1) Else GetDirectory = "" End If End Function
'*************************************
-- Amicalement
Jean-François Aubert {Vaudois de la Côte Lémanique}
"Eddie" a écrit dans le message de news:00b401c3c1b5$7f04fae0$ Bonjour à tous,
Par code VBA, comment peut-on récuperer dans une variable String, au travers d'une boite de dialogue de type Explorateur, le chemin et le nom d'un fichier?
Merci d'avance.
Salut Eddie,
le nom et le chemin est récupéré dans la sub test()
maVariable = GetDirectory
de:
http://perso.wanadoo.fr/frederic.sigonneau/code/Fichiers/BrowseForFolderOrFile.txt
'***************************************
'J. Walkenbach
Public Type BROWSEINFO
hOwner As Long
pidlRoot As Long
pszDisplayName As String
lpszTitle As String
ulFlags As Long
lpfn As Long
lParam As Long
iImage As Long
End Type
'32-bit API declarations
Declare Function SHGetPathFromIDList Lib "shell32.dll" _
Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long
Declare Function SHBrowseForFolder Lib "shell32.dll" _
Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long
Sub test()
maVariable = GetDirectory
End Sub
Function GetDirectory(Optional Msg) As String
Dim bInfo As BROWSEINFO
Dim path As String
Dim r As Long, x As Long, pos As Integer
'Définit le Bureau comme dossier racine
bInfo.pidlRoot = 0&
'Invite de la boite de dialogue
If IsMissing(Msg) Then
bInfo.lpszTitle = "Selectionnez un dossier."
Else
bInfo.lpszTitle = Msg
End If
'Type de renvoi : dossier
' bInfo.ulFlags = &H1
'Type de renvoi : fichier
bInfo.ulFlags = &H4000
'Affiche la boite de dialogue
x = SHBrowseForFolder(bInfo)
'Traite le résultat
path = Space$(512)
r = SHGetPathFromIDList(ByVal x, ByVal path)
If r Then
pos = InStr(path, Chr$(0))
GetDirectory = Left(path, pos - 1)
Else
GetDirectory = ""
End If
End Function
'*************************************
--
Amicalement
Jean-François Aubert
{Vaudois de la Côte Lémanique}
"Eddie" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:00b401c3c1b5$7f04fae0$a401280a@phx.gbl...
Bonjour à tous,
Par code VBA, comment peut-on récuperer dans une variable
String, au travers d'une boite de dialogue de type
Explorateur, le chemin et le nom d'un fichier?
Salut Eddie, le nom et le chemin est récupéré dans la sub test()
maVariable = GetDirectory
de: http://perso.wanadoo.fr/frederic.sigonneau/code/Fichiers/BrowseForFolderOrFile.txt
'*************************************** 'J. Walkenbach Public Type BROWSEINFO hOwner As Long pidlRoot As Long pszDisplayName As String lpszTitle As String ulFlags As Long lpfn As Long lParam As Long iImage As Long End Type
'32-bit API declarations Declare Function SHGetPathFromIDList Lib "shell32.dll" _ Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long
Declare Function SHBrowseForFolder Lib "shell32.dll" _ Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long
Sub test() maVariable = GetDirectory End Sub
Function GetDirectory(Optional Msg) As String Dim bInfo As BROWSEINFO Dim path As String Dim r As Long, x As Long, pos As Integer
'Définit le Bureau comme dossier racine bInfo.pidlRoot = 0&
'Invite de la boite de dialogue If IsMissing(Msg) Then bInfo.lpszTitle = "Selectionnez un dossier." Else bInfo.lpszTitle = Msg End If
'Type de renvoi : dossier ' bInfo.ulFlags = &H1 'Type de renvoi : fichier bInfo.ulFlags = &H4000
'Affiche la boite de dialogue x = SHBrowseForFolder(bInfo)
'Traite le résultat path = Space$(512) r = SHGetPathFromIDList(ByVal x, ByVal path) If r Then pos = InStr(path, Chr$(0)) GetDirectory = Left(path, pos - 1) Else GetDirectory = "" End If End Function
'*************************************
-- Amicalement
Jean-François Aubert {Vaudois de la Côte Lémanique}
"Eddie" a écrit dans le message de news:00b401c3c1b5$7f04fae0$ Bonjour à tous,
Par code VBA, comment peut-on récuperer dans une variable String, au travers d'une boite de dialogue de type Explorateur, le chemin et le nom d'un fichier?
Merci d'avance.
Pascal Engelmajer
salut, par exemple : Function choisirFichier() Dim objShell, objFile, chemin Set objShell = CreateObject("Shell.Application") Set objFile = _ objShell.BrowseForFolder(&H0&, "Choisissez un fichier", &H4000) On Error Resume Next chemin = objFile.ParentFolder.ParseName(objFile.Title).Path & "" If objFile.Title = "" Then chemin = "" End If choisirFichier = chemin End Function
-- Amicalement. Pascal "il n'y a pas de vent favorable pour celui qui ne sait pas ou il va." Sénèque. http://www.ilyapa.net/excel "Eddie" a écrit dans le message de news: 00b401c3c1b5$7f04fae0$ Bonjour à tous,
Par code VBA, comment peut-on récuperer dans une variable String, au travers d'une boite de dialogue de type Explorateur, le chemin et le nom d'un fichier?
Merci d'avance.
salut,
par exemple :
Function choisirFichier()
Dim objShell, objFile, chemin
Set objShell = CreateObject("Shell.Application")
Set objFile = _
objShell.BrowseForFolder(&H0&, "Choisissez un fichier", &H4000)
On Error Resume Next
chemin = objFile.ParentFolder.ParseName(objFile.Title).Path & ""
If objFile.Title = "" Then
chemin = ""
End If
choisirFichier = chemin
End Function
--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
"Eddie" <anonymous@discussions.microsoft.com> a écrit dans le message de
news: 00b401c3c1b5$7f04fae0$a401280a@phx.gbl...
Bonjour à tous,
Par code VBA, comment peut-on récuperer dans une variable
String, au travers d'une boite de dialogue de type
Explorateur, le chemin et le nom d'un fichier?
salut, par exemple : Function choisirFichier() Dim objShell, objFile, chemin Set objShell = CreateObject("Shell.Application") Set objFile = _ objShell.BrowseForFolder(&H0&, "Choisissez un fichier", &H4000) On Error Resume Next chemin = objFile.ParentFolder.ParseName(objFile.Title).Path & "" If objFile.Title = "" Then chemin = "" End If choisirFichier = chemin End Function
-- Amicalement. Pascal "il n'y a pas de vent favorable pour celui qui ne sait pas ou il va." Sénèque. http://www.ilyapa.net/excel "Eddie" a écrit dans le message de news: 00b401c3c1b5$7f04fae0$ Bonjour à tous,
Par code VBA, comment peut-on récuperer dans une variable String, au travers d'une boite de dialogue de type Explorateur, le chemin et le nom d'un fichier?