Bonjour,
vous avez 2 choix d'objets, soit les objets VBA que je connais
moins, soit les objets VBS qui sont compatible quelque soit le
VBA en cause ( Access, Excel, Word, Power... ).
les objets sont transposable directement sous le VBA d'access !
si je n'ai pas trop fait d'erreurs, un exemple d'arborescence en VBS est démontré ici :
Sub Principal()
' Attention, les variables sont déclaré en type
' variant puisque la syntaxe vient d'un VBS.
Dim oFS As Variant, oLecteur As Variant, oRepertoire As Variant
Dim Boucle As Variant
Dim Dossier As Variant
On Error Resume Next
Set oFS = CreateObject("Scripting.FileSystemObject")
Set oLecteur = oFS.GetDrive("C")
Dossier = InputBox("Entrez le dossier cible du lecteur à lire :", "Saisie du dossier à lire", "\TEMP")
If (oLecteur.IsReady) Then
If (Dossier <> "") Then
'cteLecture à partir du sous-répertoire cible
Set oRepertoire = oFS.GetFolder(Lecteur & ":" & Dossier)
Call ListeFichier(oRepertoire) ' Routine récursive
Else
'cteLecture des fichiers dans la racine du lecteur
If (oLecteur.RootFolder.Files.Count > 0) Then
For Each oFichier In oLecteur.RootFolder.Files
'... LireDonnees (oFichier)
Next
End If
'cteLecture des sous-répertoires dans le lecteur
For Each oRepertoire In oLecteur.RootFolder.SubFolders
Call ListeFichier(oRepertoire) ' Routine récursive
Next
End If
End If
Wscript.echo "Fin de traitement :-) "
End Sub
'
Sub ListeFichier(ByVal oRepertoir As Variant) ' Routine récursive
Dim oDossier As Variant, oFichier as Variant
On Error Resume Next
If (oRepertoir.Files.Count > 0) Then
For Each oFichier In oRepertoir.Files
'...LireDonnees (oFichier)
Next
End If
If (oRepertoir.SubFolders.Count > 0) Then
For Each oDossier In oRepertoir.SubFolders
Call ListeFichier(oDossier)
Next
End If
End Sub
'
Lupin