Boîte de dialogue choix d'un dossier
Place ceci dans un module de ton classeur (pas dans un module de feuille, c'est une fonction...)
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 Dim Dossier as string 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
Tu peux utiliser cette fonction en l'appellant depuis une autre macro. Tu récupères le chemin du dossier sélectionné dans la variable "Dossier" Tu peux en voir un exemple d'utilisation dans le classeur exemple.
Astuce illustrée par ce classeur
fc-sauvegardeauto
Auteur : John Walkenbach
Mots clefs associés à cette page : boîte, de, dialogue, boîte de dialogue, chemin, choisir, dossier
- Vous devez vous identifier ou créer un compte pour écrire des commentaires
