Chemin d'un dossier
Ce code est à placer dans un module du classeur (pas dans le code de la feuille).
Dans une macro du classeur si tu tapes
sub essai() .... GetDirectory ...
tu récupères dans la variable Dossier le chemin que l'utilisateur aura sélectionné
Public Dossier 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 Function GetDirectory(Optional Msg) As String Dim bInfo As BROWSEINFO Dim path As String Dim r As Long, x As Long, pos As Integer bInfo.pidlRoot = 0& If IsMissing(Msg) Then bInfo.lpszTitle = "Choisissez un dossier de destination pour les sauvegardes." Else bInfo.lpszTitle = Msg End If bInfo.ulFlags = &H1 x = SHBrowseForFolder(bInfo) path = Space$(512) r = SHGetPathFromIDList(ByVal x, ByVal path) If r Then pos = InStr(path, Chr$(0)) GetDirectory = Left(path, pos - 1) Dossier = GetDirectory & "" Else GetDirectory = "" End If End Function
Astuce illustrée par ces classeurs
fc-sauvegardeauto
skfc-zipdossier
Auteur : John Walkenbach
Mots clefs associés à cette page : chemin, dossier, répertoire
- Vous devez vous identifier ou créer un compte pour écrire des commentaires
