Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comptage de fichiers

5 réponses
Avatar
Infogroup
Bonsoir, à tous

J'ai dans un répertoire C:\Essai, un très grand nombre de fichiers, et ce
nombre varie très souvent.
Est-il possible, avec une macro, de compter ces fichiers en temps réel, et
d'afficher le résultat dans une cellule d'une feuille de calcul.

Merci par avance de votre aide.
--
M.Infogroup

5 réponses

Avatar
Daniel
Bonjour.
Utilise la fonction perso "NombreFichiers" :

Function NombreFichiers()
Dim Fich As String, Compteur As Long
Application.Volatile
Fich = Dir("c:essai*.*")
Do While Fich <> ""
Compteur = Compteur + 1
Fich = Dir
Loop
NombreFichiers = Compteur
End Function

A mettre dans la cellule de ton choix
Cordialement.
Daniel
"Infogroup" a écrit dans le message de
news:
Bonsoir, à tous

J'ai dans un répertoire C:Essai, un très grand nombre de fichiers, et ce
nombre varie très souvent.
Est-il possible, avec une macro, de compter ces fichiers en temps réel, et
d'afficher le résultat dans une cellule d'une feuille de calcul.

Merci par avance de votre aide.
--
M.Infogroup


Avatar
micdub
Bonsoir,

Voici une procédure qui pourrait vous intéresser :

Sub liste_fichiers()

Dim sep As String
Dim liste As String ' Liste des différents fichiers
Dim i As Integer
Dim dossier As String
Dim nbfile As Integer

sep = String(100, "-") & vbCrLf
liste = ""
dossier = "d:" ' Unité + dossier (ici, la racine)
With Application.FileSearch

.LookIn = dossier
.FileType = msoFileTypeAllFiles ' tous les types de fichiers

If .Execute() > 0 Then
nbfile = .FoundFiles.Count
liste = "Il y a " & nbfile & _
" fichier(s)trouvé(s) en " & dossier & vbCrLf & sep
For i = 1 To nbfile
liste = liste & .FoundFiles(i) & vbCrLf
Next i
MsgBox liste

Range("B1") = nbfile

Else
MsgBox "Auncun fichier n'a été trouvé en " & dossier
Range("B1") = 0
End If
End With

End Sub

Bien à vous.

micdub - http://users.skynet.be/micdub



Bonsoir, à tous

J'ai dans un répertoire C:Essai, un très grand nombre de fichiers, et ce
nombre varie très souvent.
Est-il possible, avec une macro, de compter ces fichiers en temps réel, et
d'afficher le résultat dans une cellule d'une feuille de calcul.

Merci par avance de votre aide.
--
M.Infogroup


Avatar
MichDenis
Une fonction personnalisée à mettre dans un module standard
ne pas oublier de définir le répertoire visé :

et dans la cellule de ton classeur , tu inscris : = NbFiles()
la fonction est recalculée à chaque fois que la feuille est recalculée.

'---------------------------------------
Function NbFiles()

Dim Dossier As String
Application.Volatile True
Dossier = "c:Atravail" 'à déterminer

With CreateObject("Scripting.FileSystemObject")
With .GetFolder(Dossier)
NbFiles = .Files.Count
End With
End With

End Function
'---------------------------------------



"Infogroup" a écrit dans le message de news:

Bonsoir, à tous

J'ai dans un répertoire C:Essai, un très grand nombre de fichiers, et ce
nombre varie très souvent.
Est-il possible, avec une macro, de compter ces fichiers en temps réel, et
d'afficher le résultat dans une cellule d'une feuille de calcul.

Merci par avance de votre aide.
--
M.Infogroup
Avatar
Infogroup
Merci Daniel pour ta réponse rapide
C'est OK

Merci encore
--
M.Infogroup



Bonjour.
Utilise la fonction perso "NombreFichiers" :

Function NombreFichiers()
Dim Fich As String, Compteur As Long
Application.Volatile
Fich = Dir("c:essai*.*")
Do While Fich <> ""
Compteur = Compteur + 1
Fich = Dir
Loop
NombreFichiers = Compteur
End Function

A mettre dans la cellule de ton choix
Cordialement.
Daniel
"Infogroup" a écrit dans le message de
news:
Bonsoir, à tous

J'ai dans un répertoire C:Essai, un très grand nombre de fichiers, et ce
nombre varie très souvent.
Est-il possible, avec une macro, de compter ces fichiers en temps réel, et
d'afficher le résultat dans une cellule d'une feuille de calcul.

Merci par avance de votre aide.
--
M.Infogroup







Avatar
Infogroup
Effectivement, tout cela peut être très intéressant.
Merci pour ces excellentes infos

--
M.Infogroup



Bonsoir,

Voici une procédure qui pourrait vous intéresser :

Sub liste_fichiers()

Dim sep As String
Dim liste As String ' Liste des différents fichiers
Dim i As Integer
Dim dossier As String
Dim nbfile As Integer

sep = String(100, "-") & vbCrLf
liste = ""
dossier = "d:" ' Unité + dossier (ici, la racine)
With Application.FileSearch

.LookIn = dossier
.FileType = msoFileTypeAllFiles ' tous les types de fichiers

If .Execute() > 0 Then
nbfile = .FoundFiles.Count
liste = "Il y a " & nbfile & _
" fichier(s)trouvé(s) en " & dossier & vbCrLf & sep
For i = 1 To nbfile
liste = liste & .FoundFiles(i) & vbCrLf
Next i
MsgBox liste

Range("B1") = nbfile

Else
MsgBox "Auncun fichier n'a été trouvé en " & dossier
Range("B1") = 0
End If
End With

End Sub

Bien à vous.

micdub - http://users.skynet.be/micdub



Bonsoir, à tous

J'ai dans un répertoire C:Essai, un très grand nombre de fichiers, et ce
nombre varie très souvent.
Est-il possible, avec une macro, de compter ces fichiers en temps réel, et
d'afficher le résultat dans une cellule d'une feuille de calcul.

Merci par avance de votre aide.
--
M.Infogroup