Nombre de fichiers d'un répertoire
Ci-dessous, deux procédures pour compter l'une le nombre de fichiers d'un dossier et l'autre le nombre de sous-dossiers d'un dossier. Les deux procédures peuvent, en option, examiner également l'ensemble de l'arborescence dépendant du dossier fourni en paramètre.
'compte le nombre de fichiers d'un lecteur
'(complet et assez rapide)
sub test() 'fs Dim Nb& 'nombre de fichiers à la racine du lecteur C NbDeFichiers "C:", Nb&, False MsgBox Nb: Nb = 0 'nombre total de fichiers sur le lecteur C NbDeFichiers "C:", Nb& MsgBox Nb: Nb = 0 'nombre de dossiers à la racine du lecteur C NbDeDossiers "C:", Nb&, False MsgBox Nb: Nb = 0 'nombre total de dossiers sur le lecteur C NbDeDossiers "C:", Nb& MsgBox Nb end sub
sub NbDeFichiers(LeDossier$, Cpte&, Optional SousDossiers As Boolean = True)
Dim fso As Object, Dossier As Object Dim sousRep As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Set Dossier = fso.GetFolder(LeDossier)
Cpte = Cpte + Dossier.Files.Count
'traitement récursif des sous dossiers
If SousDossiers Then
For Each sousRep In Dossier.subFolders
NbDeFichiers sousRep.Path, Cpte
Next sousRep
End If
Set fso = Nothing
end subsub NbDeDossiers(DossierRacine$, Cpte&, Optional SousDossiers As Boolean = True) 'fs
Dim fso As Object, Dossier As Object Dim sousRep As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Set Dossier = fso.GetFolder(DossierRacine)
Cpte = Cpte + Dossier.subFolders.Count
'traitement récursif des sous dossiers
If SousDossiers Then
For Each sousRep In Dossier.subFolders
NbDeDossiers sousRep.Path, Cpte
Next sousRep
End If
Set fso = Nothing
end subAuteur : Frédéric Sigonneau
Mots clefs associés à cette page : fichier, dossiers, répertoire
- Vous devez vous identifier ou créer un compte pour écrire des commentaires
