Sub SousRepertoire(chemin)
On Error Resume Next
Dim Compteur, D(), i, NomRepertoire ' Declare variables.
NomRepertoire = Dir(chemin, vbDirectory) ' 'obtient le premier répertoire
Do While NomRepertoire <> ""
' A file or directory name was returned
If NomRepertoire <> "." And NomRepertoire <> ".." Then
' Not a parent or current directory entry so process it
' pour XP
' If (GetAttr(chemin + NomRepertoire) = 10256) Or GetAttr(chemin + NomRepertoire) = 17 Then
' pour 98
If GetAttr(chemin + NomRepertoire) = vbDirectory Then
' This is a directory
If (Compteur Mod 10) = 0 Then
' Resize the array
ReDim Preserve D(Compteur + 10)
End If
Compteur = Compteur + 1 ' Incremente le compteur.
D(Compteur) = NomRepertoire ' Add directory name to array
End If
'End If
End If
NomRepertoire = Dir ' Get another directory name.
Loop
ListBox3.Clear
If (ListBox7.Visible = True) And (ListBox6.Visible = True) Then
For i = 1 To Compteur
ListBox6.AddItem D(i)
Next i
Else
For i = 1 To Compteur
Next i
For i = 1 To Compteur
pos = i
For suivant = i To i + 1
If StrComp(UCase(D(pos)), UCase(D(pos + 1)), 0) Then
pos = pos + 1
End If
tempo = D(pos + 1)
D(pos + 1) = D(pos)
D(pos) = tempo
Next suivant
' Put each directory's name in the list box.
ListBox3.AddItem LCase(D(i))
ListBox5.AddItem LCase(D(i))
' The following is the recursive call
' Find this directory's sub-directories
SousRepertoire D(i) & "\"
Next i
End If
Label6.Visible = False
DoEvents
End Sub