sfab41
Messages postés28Date d'inscriptionvendredi 27 mars 2009StatutMembreDernière intervention 9 juillet 2009
-
8 juil. 2009 à 16:13
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 2021
-
10 juil. 2009 à 07:38
Bonjour!
Je voulais savoir s'il existait un contrôle dans la boite à outils du userform permettant de créer un cadre type "explorer" (affichage des icônes et possibilité de parcourir les dossiers, donc différent de TreeView)?
Je sais que c'est plus compliqué que de prendre directement une fenêtre explorer mais c'est pour une bidouille.
Si c'est impossible de cette manière, existe-t-il un moyen via la déclaration de fonctions ou d'options (choses que je ne maitrise pas)?
Pour le reste, je suis amateur en vba donc merci de votre compréhension quant à mon peu de connaissances.
Private Type BrowseInfo
hwndOwner As Long
pIDLRoot As Long
pszDisplayName As Long
lpszTitle As Long
ulFlags As Long
lpfnCallback As Long
lParam As Long
iImage As Long
End Type
Private Declare Function SHBrowseForFolder Lib "Shell32" (lpbi As BrowseInfo) As Long
Private Declare Function SHGetPathFromIDList Lib "Shell32" (ByVal pidList As Long, ByVal lpBuffer As String) As Long
Private Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" (ByVal lpString1 As String, ByVal lpString2 As String) As Long
Public Function OpenDirectoryTV()
Dim lpIDList As Long
Dim sBuffer As String
Dim szTitle As String
Dim tBrowseInfo As BrowseInfo
szTitle = odtvTitle
With tBrowseInfo
.hwndOwner = 0
.lpszTitle = lstrcat(szTitle, "")
.ulFlags = BIF_RETURNONLYFSDIRS
End With
lpIDList = SHBrowseForFolder(tBrowseInfo)
If (lpIDList) Then
sBuffer = Space(MAX_PATH)
SHGetPathFromIDList lpIDList, sBuffer
sBuffer = Left(sBuffer, InStr(sBuffer, vbNullChar) - 1)
OpenDirectoryTV = sBuffer
End If
End Function
Il suffit de créer un bouton qui déclanche le module OpenDirectoryTV
sfab41
Messages postés28Date d'inscriptionvendredi 27 mars 2009StatutMembreDernière intervention 9 juillet 2009 9 juil. 2009 à 19:34
Bonsoir! Merci de vous intéressez à mon cas. En fait je suis sous vba donc le zip n'est pas adapté. Pour ce qui est de la réponse dec148270, j'utilise déjà la macro mais le problème c'est qu'ici je veux utiliser une fenêtre pour gérer le contenu d'un dossier (effacer, copier, créer un dossier...).
Si vous êtes inspirés, n'hésitez pas!