Function CountFilesFromDirectory(ByVal sDir As String, Optional ByVal sFilter As String = "*.*") As Long
CountFilesFromDirectory = 0
If RightB$(sDir, 2) <> "\" Then sDir = sDir & "\"
' formate le chemin
Dim sFile As String
sFile = Dir(sDir & sFilter, vbHidden Or vbSystem)
If LenB(sFile) > 0 Then
' boucle sur tous les fichiers (et incrémente)
Do
CountFilesFromDirectory = CountFilesFromDirectory + 1
sFile = Dir
Loop Until LenB(sFile) = 0
End If
End Function
' EXEMPLE D'UTILISATION
Private Sub Form_Load()
' compte toutes les dll dans windows
MsgBox CountFilesFromDirectory("C:\Windows\", "*.dll")
' compte tous les fichiers dans temp
MsgBox CountFilesFromDirectory(Environ$("TEMP"))
End Sub