[vb-ACCESS]parcourir arborescence
isabelle
-
Utilisateur anonyme -
Utilisateur anonyme -
bonjour,
Quel code vba (sous access) permettrait de parcourir une arborescence de fichiers à partir d'un repertoire, et enregistrer tous les fichiers de l'arborescence dans une table avec un numero de position (selon son niveau dans l'rborescence) ??
Merci d'avance pour tout indice
Isabelle
Quel code vba (sous access) permettrait de parcourir une arborescence de fichiers à partir d'un repertoire, et enregistrer tous les fichiers de l'arborescence dans une table avec un numero de position (selon son niveau dans l'rborescence) ??
Merci d'avance pour tout indice
Isabelle
A voir également:
- [vb-ACCESS]parcourir arborescence
- Vb - Télécharger - Langages
- Access appdata - Guide
- Acer quick access - Forum logiciel systeme
- Désinstaller ACER QUICK ACCESS - Forum Logiciels
- Arborescence word - Guide
1 réponse
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 :
Lupin
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