Avis d'expert sur code VBA

Fermé
eljojo_e Messages postés 1155 Date d'inscription lundi 10 mai 2010 Statut Membre Dernière intervention 14 octobre 2022 - 22 sept. 2015 à 11:22
castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 - 28 sept. 2015 à 09:11
Bonjour,

J'ai trouvé un bout de code qui permet de lister dossier + sous dossier etc... d'un répertoire.

J'ai rajouté une partie qui permet de lister les fichiers présents. (sur un excel pour le moment)

Le code fonctionne mais la liste est complétement désordonné.

J'aurais aimé que ca liste tout dans l'ordre alphabétique sans filtrer par la suite. (J'aimerais appliquer ça à un treeview sur access qui n'est pas triable)

Merci d'avance !


Sub TousLesDossiers(LeDossier$, Idx As Long)
Dim strDossier As String
Dim strFichier As String
Dim FSO As Object, Dossier As Object
Dim sousRep As Object, Flder As Object
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Dossier = FSO.GetFolder(LeDossier)

'examen du dossier courant
For Each Flder In Dossier.SubFolders
Idx = Idx + 1
Cells(Idx, 1).Value = Flder.Path & "\"
'Rajou de fichier #début
' Lister tous les fichiers du dossier
strFichier = Dir(Flder.Path & "\", vbNormal)
While strFichier <> ""
' Afficher le nom du fichier
Idx = Idx + 1
Cells(Idx, 1).Value = Flder.Path & "\" & strFichier
'Lire le fichier suivant
strFichier = Dir
Wend
'rajout de fichier #fin
Next
'traitement récursif des sous dossiers
For Each sousRep In Dossier.SubFolders
TousLesDossiers sousRep.Path, Idx
Next sousRep
Set FSO = Nothing
End Sub

Et son lanceur

Sub Tout_Lister()
TousLesDossiers "Y:\TRAVAUX\2015 test", 0
End Sub

A voir également:

1 réponse

castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 217
28 sept. 2015 à 09:11
Bonjour
Pose ta question sur forum programmation VBA
0