Compter le nombre de classeurs Excel dans un dossier

Philippe

XLDnaute Occasionnel
Bonjour le forum,

J'ai besoin de pouvoir compter dans un dossier, nommé ici "MONDOSSIER", le nombre de classeurs ".xls"; le dossier en question contient d'aures types de fichiers (.doc, .jpg, etc...). J'ai donc écrit ce petit code.... qui ne fonctionne pas... d'où ma demande d'aide de votre part


Sub recherche()
Dim dossier As Folder
Dim fiche As File
dossier.Name = "C:\MONDOSSIER\"
For Each fiche In dossier
If Right(fiche.Name, 4) = ".xls" Then x = x + 1
Next
[A1] = "Il y a " & x & "classeurs Excel dans ce dossier"
End Sub

Merci d'avance pour vos idées
PS: J'ai activé Scripting Runtime dans mon projet sans être vraiment certain que ce soit nécessaire ici...

A+
Philippe
 

sousou

XLDnaute Barbatruc
Re : Compter le nombre de classeurs Excel dans un dossier

bonjour
En admettant que le fichier soit dans le même répertoire que celui à tester
si non, modifier this workbook.path &"\" par le chemin qui va bien
Sub recherche()
n = Dir(ThisWorkbook.Path & "\", 0)
While n <> ""
n = Dir()
If LCase(Right(n, 3)) = LCase("xls") Then
x = x + 1
End If
Wend
MsgBox x
End Sub
 

Pierrot93

XLDnaute Barbatruc
Re : Compter le nombre de classeurs Excel dans un dossier

Bonsoir Philippe, Sousou

une autre solution :

Code:
Sub CompterXls()

Dim fs As FileSearch
Dim MonRepertoire As String
Set fs = Application.FileSearch
fs.NewSearch
MonRepertoire = "C:\MONDOSSIER\"
With fs
    .LookIn = MonRepertoire
    .Filename = "*.xls"
    If .Execute > 0 Then msgbox  .FoundFiles.Count
End With
End Sub

bonne soirée
@+

Edition : enlevé les codes liés a la reference Microsoft scripting Runtime, c'était une partie d'une macro que j'utilise.
 
Dernière édition:

bqtr

XLDnaute Accro
Re : Compter le nombre de classeurs Excel dans un dossier

Bonjour Philippe, sousou

Un autre exemple :

Code:
Sub Cptfichier()

Dim chemin As String
chemin = "C:\MONDOSSIER"
Range("A1") = ""
Set fs = Application.FileSearch
With fs
     .LookIn = chemin
     .Filename = "*.xls"
       If .Execute > 0 Then
           Range("A1") = "Il y a : " & .FoundFiles.Count & " Fichier(s) Excel dans le dossier :   " & chemin
       Else
           Range("A1") = "Aucun fichier Excel dans ce dossier :   " & chemin
       End If
End With

End Sub

Bonne soirée

Bonsoir Pierrot
 
Dernière édition:

Philippe

XLDnaute Occasionnel
Re : Compter le nombre de classeurs Excel dans un dossier

Merci beaucoup les amis,

je découvre dans vos codes des intructions que je ne connaissais pas...
On en a toujours des tonnes à apprendre

Bonne soirée à tous et à bientôt

Philippe
 

Discussions similaires

Statistiques des forums

Discussions
312 492
Messages
2 088 908
Membres
103 982
dernier inscrit
krakencolas