Bonsoir le forum,
ça fait une heure que je me bats avec ce code mais sans succès.
En parcourant la faq et google j'ai trouvé quelques codes permettant de lister les fichiers d'un répertoire et sous répertoires.
J'ai crée un formulaire pour faciliter l'utilisation.
Je veux afficher le nbre de sous dossiers et de fichiers du répertoire avant lancement de la procédure (un peu comme lorsqu'on fait un click droit sur un dossier puis propriété).
J'ai essayé d'adapter le code pour éviter 2 boucles For ... Next, mais j'ai le message d'erreur :
Voici le code :Erreur de compilation
Type d'argument ByRef incompatible
Pouvez-vous me dire ce qui ne va pas dans ce code ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 Sub lancement() Dim NbDossiers&, NbFichiers 'nombre total de dossiers sur le lecteur C NbDeFichiersDossiers "C:\TEST\", NbFichiers, NbDossiers MsgBox NbDossiers & vbCrLf & NbFichiers End Sub Sub NbDeFichiersDossiers(DossierRacine$, CpteDossiers&, CpteFichiers&, 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) CpteDossiers = CpteDossiers + Dossier.SubFolders.Count CpteFichiers = CpteFichiers + Dossier.Files.Count 'traitement récursif des sous dossiers If SousDossiers Then For Each sousRep In Dossier.SubFolders NbDeDossiers sousRep.Path, CpteDossiers, CpteFichiers Next sousRep End If Set fso = Nothing End Sub
En pièce jointe vous verrez un peu ce à quoi je veux aboutir
Merci d'avance
Partager