Nombre de sous dossiers et de fichiers

Comment récupérer avec VBA le nombre de sous-dossiers et de fichiers contenus dans un dossier ?

sub test()
 Dim Nb&
 'nombre de fichiers dans le répertoire spécifié
 NbDeFichiers "C:\Atravail", Nb&, False
 MsgBox Nb: Nb = 0
 'nombre total de fichiers dans le répertoire
 'indiqué et tous sous-répertoires
 NbDeFichiers "C:\Atravail", Nb&
MsgBox Nb: Nb = 0
 'nombre de répertoires dans le répertoire indiqué
 NbDeDossiers "C:\Atravail", Nb&, False
 MsgBox Nb: Nb = 0
 'nombre total de répertoires dans le répertoire
 'indiqué et dans tous ses répertoires.
 NbDeDossiers "C:\Atravail", 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 sub
sub NbDeDossiers(DossierRacine$, 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(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 sub

Auteur :

Mots clefs associés à cette page : , , , , , , , ,