Bonjour,
Une reponse rapide (qui est loin d'etre parfaite, mais qui marche si tu n'a que deux niveau de repertoire (un repertoire parent, puis plusieur sous repertoires (qui n'ont eux meme pas de sous repertoire, sinon tu adaptes, faire un autre loop sur le contenue de la matrice (qui liste le chemin des repertoires)):
Sub list_rep()
Static s As Integer
Dim repertoire()
'<<<Detecter l'ensemble des sous-repertoire du repertoire principale, puis lister les fichiers>>>
'<<<Premier passage>>>
chemin = "c:\" '<<<Change le chemin pour ce que tu veux
myname = Dir(chemin, vbDirectory)
Do While myname <> ""
If myname <> "." And myname <> ".." Then
If (GetAttr(chemin & myname) And vbDirectory) = vbDirectory Then
Debug.Print myname
ReDim Preserve repertoire(s)
repertoire(s) = chemin & myname
s = s + 1
End If
End If
myname = Dir
Loop
'<<<Lister les fichier des repertoire>>>
For g = 0 To s - 1
MsgBox repertoire(g)
Set fs = Application.FileSearch
With fs
.LookIn = repertoire(g)
.Filename = "*.*"
.Execute
For i = 1 To .FoundFiles.Count
MsgBox .FoundFiles(i) '<<<ICI tu peux mettre ton code
Next i
If .FoundFiles.Count = 0 Then
MsgBox "Que Dalle !!!"
End If
End With
Next
End Sub
PS: c'est une quasi copie de l'aide de microsoft 2000, comme quoi elle est pas si mal faite
Sinon une autre solution un peu plus complete sur MSDN, http://msdn.microsoft.com/library/ [...] 072000.asp
Bon courage
I.