Lister tous les fichiers d'un repertoire

Contenu du snippet

Public Function GetFilesPathFromDirectory(ByVal  sDir As String, ByRef aRet() As String, Optional ByVal sFilter As String = "*.txt") As Long
'   GetFilesPathFromDirectory retourne -1 si aucun fichier  trouvé
'   sinon retourne la dimension du tableau,  donc NB fichiers -1 (tableau commence à l'indice 0)
'   init les résultats
    GetFilesPathFromDirectory = -1
    Erase aRet
    If RightB$(sDir, 2) <> "\" Then sDir = sDir & "\"
'   formate le  chemin
    Dim sFile As String
    sFile = Dir(sDir & sFilter, vbHidden Or  vbSystem)
'    boucle sur tous les fichiers
    Do
        If LenB(sFile) Then
            GetFilesPathFromDirectory = GetFilesPathFromDirectory +  1
            ReDim Preserve aRet(GetFilesPathFromDirectory)
            aRet(GetFilesPathFromDirectory) = sDir &  sFile
            sFile = Dir
        End If
    Loop Until LenB(sFile) = 0
End Function




'   EXEMPLE D'UTILISATION
Private Sub Command1_Click() 
    Dim aResultat() As String 
    Dim lRet As Long 
    Dim i As Long 

    lRet = GetFilesPathFromDirectory("C:\Windows\", aResultat()) 
    If lRet <> -1 Then 
        For i = 0 To lRet 
            Debug.Print "Fichier " & i + 1 & " = " & aResultat(i) 
        Next i 
    End If 
End Sub


Compatibilité : VB6, VBA

Disponible dans d'autres langages :

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.