Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

UserForm de recherche de fichiers

FCL31

XLDnaute Nouveau
Salut a tous

Je viens vers vous car je voudrais créer un formulaire à l'aide d'un UserForm afin de récupérer l'adresse d'un fichier Excel.

J'ai déjà un truc un peu du même style mais pour rechercher des dossiers à l'aide d'un Exporateur Windows.
Voici le code que j'ai pour une recherche de dossiers :
Code:
Private Const BIF_RETURNONLYFSDIRS = 1
Private Const BIF_DONTGOBELOWDOMAIN = 2

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

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 Sub CommandButton1_Click()
    Dim lpIDList As Long
    Dim strBuffer As String
    Dim strTitre As String
    Dim tBrowseInfo As BrowseInfo
    Dim SelectFolder As String
    Dim Handle As Long
    
strTitre = Titre
With tBrowseInfo
    .hWndOwner = Handle
    .lpszTitle = lstrcat(strTitre, "")
    .ulFlags = BIF_RETURNONLYFSDIRS + BIF_DONTGOBELOWDOMAIN
End With

lpIDList = SHBrowseForFolder(tBrowseInfo)

If (lpIDList) Then
    strBuffer = String(260, vbNullChar)
    SHGetPathFromIDList lpIDList, strBuffer
    SelectFolder = Left(strBuffer, InStr(strBuffer, vbNullChar) - 1)
End If
    Recherche.TextBox1.Text = SelectFolder & "\"
End Sub

En fait je voudrais la même chose mais pour une recherche de Fichiers

Si quelqu'un a la solution SVP
Merci d'avance

PS - EXCEL 2003
 
Dernière édition:

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…