1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
Dim fini As Boolean
Sub sfdsf()
Dim rep As String, filtre As String
rep = "C:" ' ici le répertoire à fouuiller, qui peut être un lecteur entier
filtre = "toto.*" 'ici ton filtre, ' si tu en souhaites un ou le nom complet
fini = False
dir_dans_dir rep, filtre
End Sub
Sub dir_dans_dir(ByVal chemin As String, flt As String)
If fini = True Then Exit Sub
Dim Nomfic As String, nbfic As Integer, tremplin As String, i As Integer
If Right$(chemin, 1) <> "\" Then chemin = chemin & "\"
Nomfic = Dir$(chemin, vbDirectory)
nbfic = 1
Do While Nomfic <> ""
If Nomfic <> "." And Nomfic <> ".." Then
tremplin = chemin & Nomfic
If GetAttr(tremplin) And vbDirectory Then '===>> tu peux même décider d'ignorer (conditions d'attributs) des dossiers complets à attributs spéciaux
' ListBox1.AddItem tremplin & "\" & Nomfic
dir_dans_dir tremplin, flt
Nomfic = Dir$(chemin, vbDirectory)
For i = 2 To nbfic
Nomfic = Dir$
Next
Else ' ====>>> c'est là que tu vas pouvoir, au bedsoin, mettre tes conditions d'attributs
If Nomfic Like flt Then
Workbooks.Open tremplin: fini = True
End If
End If
End If
Nomfic = Dir$
nbfic = nbfic + 1
Loop
fin:
End Sub |
Partager