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
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.