Compte le nombre de fichiers dans un dossier

Marc77

XLDnaute Occasionnel
Bonjour à tous,

Je recherche le code VBA sous Excel 2007 qui renvoie le nombres de fichiers présents dans un dossier.

Marc
 

vbacrumble

XLDnaute Accro
Re : Compte le nombre de fichiers dans un dossier

Bonsoir à tous


Exemple fourni par Microsoft dans l'aide d'Excel


Code:
Set fs = Application.FileSearch
With fs
    .LookIn = "C:\My Documents"
    .FileName = "*.doc"
    If .Execute(SortBy:=msoSortbyFileName, _
            SortOrder:=msoSortOrderAscending) > 0 Then
        MsgBox "There were " & .FoundFiles.Count & _
            " file(s) found."
        For i = 1 To .FoundFiles.Count
            MsgBox .FoundFiles(i)
        Next i
    Else
        MsgBox "There were no files found."
    End If
End With
 

Roland_M

XLDnaute Barbatruc
Re : Compte le nombre de fichiers dans un dossier

bonsoir à tous

ci-joint un exemple
 

Pièces jointes

  • LoadRepFich Excel.xls
    42 KB · Affichages: 186
  • LoadRepFich Excel.xls
    42 KB · Affichages: 217
  • LoadRepFich Excel.xls
    42 KB · Affichages: 203
  • LoadRep Excel.xls
    40 KB · Affichages: 154

vbacrumble

XLDnaute Accro
Re : Compte le nombre de fichiers dans un dossier

Re, bonsoir Roland_M



Pour répondre juste à ta question

Code:
Sub nombrefic()
Dim fs, i&, DOSSIER$
Set fs = Application.FileSearch
DOSSIER = "C:\Temp"
With fs
    .LookIn = DOSSIER
    .Filename = "*.*"
    If .Execute(SortBy:=msoSortByFileName, _
            SortOrder:=msoSortOrderAscending) > 0 Then
        MsgBox "Nombre de fichiers trouvées :  " _
        & .FoundFiles.Count, vbInformation, "Répertoire traité : " & DOSSIER
    Else
        MsgBox "Aucun fichier."
    End If
End With
End Sub
 

Marc77

XLDnaute Occasionnel
Re : Compte le nombre de fichiers dans un dossier

Bonjour le forum, vbacrumble et Roland

Je vous remercie de vos réponses, mais je recherche le code qui donne le nombre de fichiers dans un dossier de la même façon que le code "valeur.Size" donne la taille du dossier.
 
Dernière édition:

Roland_M

XLDnaute Barbatruc
Re : Compte le nombre de fichiers dans un dossier

re:

attention ! Application.FileSearch n'est plus compatible excel 2007 !
il vaut mieux utiliser CreateObject("Scripting.FileSystemObject")

Code:
Public Sub NbrDeFichiers()
Dim FSO As Object, Dossier As String
Dossier = "C:\"
Set FSO = CreateObject("Scripting.FileSystemObject")
NbrFich = FSO.GetFolder(Dossier).Files.Count
MsgBox NbrFich
End Sub

Code:
Sub Doc()
' Attributes : attributs du dossier.
'    0 : Normal    Aucun attribut n'est défini.
'    1 : ReadOnly  Dossier en lecture seule (attribut en lecture/ecriture)
'    2 : Hidden    Dossier caché (attribut en lecture/ecriture)
'    4 : System    Dossier système (attribut en lecture/ecriture)
'   32 : Archive    Dossier archivé (attribut en lecture/ecriture)
' 2048 : Compressed Dossier compressé (attribut en lecture seule)
' DateCreated     : Date de création du dossier
' DateLastAccessed: Date du dernier accès au dossier
' DateLastModified: Date de dernière modification
' Drive           : Lettre désignant l'unité de disque d'où est issu le dossier.
' Files           : Collection regroupant les fichiers du dossier
' IsRootFolder    : Booléen qui définit si le dossier est le dossier racine de son unité de disque.
' Name            : Nom du dossier. Exemple Windows (propriété en lecture/ecriture)
' ParentFolder    : Objet Folder correspondant au dossier parent. Si le dossier est un dossier RootFolder cette propriété retourne Nothing.
' Path            : Chemin complet d'accès au dossier.  Exemple D:\Windows
' ShortName       : Nom court sur 8 caractères maximum. Exemple ESSAI1~1
' ShortPath       : Chemin complet d'accès au dossier où chaque composant respecte la norme évoquée pour ShortName. Exemple D:\ABCDEF1~1\ ESSAI1~1
' Size            : Taille totale du dossier en octets. Somme de tous les fichiers présents dans le dossier et ses sous-dossiers.
' SubFolders      : Collection d 'objet Folder regroupant les sous-dossiers.
' Type            : Type du dossier. Dans tous les cas testés, il s'agit de FileFolder.
End Sub
Sub InfoRepFich()
Dim oFSO, oFld
Set oFSO = CreateObject("Scripting.FileSystemObject")
Rep$ = "C:\Program Files\Fichiers communs" 'Nom du répertoire
M$ = "néant !"
If oFSO.FolderExists(Rep$) Then
   Set oFld = oFSO.GetFolder(Rep$)
   M$ = "Attributes  :" & oFld.Attributes & vbLf & vbLf
   M$ = M$ & "DateCreated :" & oFld.DateCreated & vbLf & vbLf
   M$ = M$ & "DateLastAccessed :" & oFld.DateLastAccessed & vbLf & vbLf
   M$ = M$ & "DateLastModified :" & oFld.DateLastModified & vbLf & vbLf
   M$ = M$ & "Drive :" & oFld.Drive & vbLf & vbLf
   M$ = M$ & "IsRootFolder :" & oFld.IsRootFolder & vbLf & vbLf
   M$ = M$ & "Name :" & oFld.Name & vbLf & vbLf
   M$ = M$ & "ParentFolder :" & oFld.ParentFolder & vbLf & vbLf
   M$ = M$ & "Path :" & oFld.Path & vbLf & vbLf
   M$ = M$ & "ShortName :" & oFld.ShortName & vbLf & vbLf
   M$ = M$ & "ShortPath :" & oFld.ShortPath & vbLf & vbLf
   M$ = M$ & "Size :" & oFld.Size & vbLf & vbLf
   M$ = M$ & "SubFolders.Count :" & oFld.SubFolders.Count & vbLf & vbLf
   M$ = M$ & "Type :" & oFld.Type
End If
MsgBox M$
End Sub
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 392
Messages
2 087 958
Membres
103 686
dernier inscrit
maykrem