Function GetFilesPathFromDirectory(ByVal sDir As String, ByRef aRet() As String, _
Optional ByVal sFilter As String = "*.*") As Long
Dim Fso As Object
Dim Fi
GetFilesPathFromDirectory = -1
Set Fso = CreateObject("Scripting.FileSystemObject")
ReDim aRet(0)
For Each Fi In Fso.GetFolder(sDir).Files
'transformation du filtre pour en ressortir par ex: dll au lieu de *.dll
sFilter = Right(sFilter, (Len(sFilter) - InStrRev(sFilter, ".")))
'recuperation de l'extension du fichier
If (Fso.GetExtensionName(Fi.Path) = sFilter) Or (sFilter = "*") Then
'incrépentation de la valeur a retourner
aRet(UBound(aRet)) = Fi.Path
ReDim Preserve aRet(UBound(aRet) + 1)
End If
Next
'redimensionne le tableau pour que le dernier élément ne soit pas vide
ReDim Preserve aRet(UBound(aRet) - 1)
GetFilesPathFromDirectory = UBound(aRet)
Set Fso = Nothing
Set Fi = Nothing
End Function