Lister les sous-répertoires (et/ou sous-sous-répertoires) d'un répertoire racine

Contenu du snippet

'Exemple d'utilisation:
Private Sub Form_Load() 
    Dim NumFile As Integer 
    NumFile = FreeFile 
    'OUvre le fichier d'analyses en Append
    Open "C:\Analyses.txt" For Append As NumFile 
    'Appelle la procédure de listage
    Call ListerSousRepertoire("C:\Julien\", CreateObject("Scripting.FileSystemObject"), NumFile) 
    'Ferme le fichier
    Close NumFile 
End Sub 
'--------------------------------------------------------------------------------------
' Procedure : ListerSousRepertoire
' Purpose   : Lister un repertoire complet (attention récursive)
'---------------------------------------------------------------------------------------
'
Public Sub ListerSousRepertoire(ByVal NomRepertoire As String, ByRef Fso, ByVal NumFile As Integer) 
Dim SubFol, Fi, Fol 
    'Récupere le repertoire
    Set Fol = Fso.GetFolder(NomRepertoire) 
    'Ecrit le nom dans le fichier
    Print #NumFile, Fol.Path 
    'Pour chaque Fichiers du repertoire
    For Each Fi In Fol.Files 
        'écrit le nom dans le fichier
        Print #NumFile, Fi.Path 
    Next 
    'Pour chaque sous répertoire
    For Each SubFol In Fol.SubFolders 
        'appel la meme procédure pour liste le contenu
        Call ListerSousRepertoire(SubFol.Path, Fso, NumFile) 
    Next 
    'Destruction des object
    Set Fol = Nothing 
    Set Fi = Nothing 
    Set SubFol = Nothing 
End Sub 



Compatibilité : VB6, VBA

Disponible dans d'autres langages :

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.