compter fichiers selon la date de création

  • Initiateur de la discussion Initiateur de la discussion man95
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

man95

XLDnaute Occasionnel
Bonjour à vous tous

j'aimerai savoir s'il est possible en VBA de compter le nombre de fichiers présent dans un répertoire selon la date de creation des fichiers.

Ex: dans le repertoire toto j'ai 30 fichiers dont 10 créé aujourd'hui est ce possible de connaitre le nombre de fichier creer à la date d'aujourd'hui ?

Merci pour vos réponses
 
Re : compter fichiers selon la date de création

Bonjour


Regardes de cet côté: ActiveWorkbook.BuiltInDocumentProperties
Plus précisément
Code:
Sub test()
MsgBox ActiveWorkbook.BuiltinDocumentProperties("Creation date").Value
End Sub
Exemple d'utilisation
Code:
Sub ReadBuiltInDocumentProperties()
Dim myProperty
Dim intI As Integer, myType
On Error Resume Next
myType = Array("", "Numeric", "Boolean", "Date", "Text")
Sheets.Add Before:=Worksheets(1)
 intI = 1
For Each myProperty In [B]ActiveWorkbook.BuiltInDocumentProperties[/B]
ActiveSheet.Cells(intI, 1).Value = myProperty.Name
ActiveSheet.Cells(intI, 2).Value = myProperty.Value
ActiveSheet.Cells(intI, 3).Value = myType(myProperty.Type)
intI = intI + 1
Next
ActiveSheet.Columns("A:C").EntireColumn.AutoFit
End Sub
 
Dernière édition:
Re : compter fichiers selon la date de création

Bonjour Man95,

voici une fonction qui fait appel au FileSytemObject de windows (en espérant que tu sois sous windows) qui compte dans un dossier les fichier créés à la date du jour

Code:
Function NombreDeFichierCreerAujourdhui() As Integer
Dim fso As Object, Dossier As Object
Dim Fichiers As Object, Fichier As Object, i As Integer
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set Dossier = fso.getfolder(ThisWorkbook.Path)
 
    Set Fichiers = Dossier.Files
    If Fichiers.Count <> 0 Then
        i = 0
        For Each Fichier In Fichiers
            If DateValue(Fichier.DateCreated) = Date Then i = i + 1
        Next
    End If
    NombreDeFichierCreerAujourdhui = i
End Function

A bientôt

EDIT: Hello Stapple🙂, Boisgontier🙂.... Trois méthodes différentes houais!!!!
 
Dernière modification par un modérateur:
Re : compter fichiers selon la date de création

bonjour,

Merci pour vos réponses mais, j'avoue, je suis un peu perdu.
la fonction que Hasco me propose semble interessante mais je ne sais pas comment la mettre en oeuvre.

je vais essayer d'être plus précis dans ma demande.

j'ai une moulinette qui tourne chaque nuit et me créée 15 fichiers . XLS.
Je souhaiterai a la fin du process creer un fichier log qui me garanti que les 15 fichiers sont présents dans le répertoire (dans ce répertoire des fichiers de journées précedentes sont presents)

espérant être assez clair

merci pour vos réponses

Mpr
 
Re : compter fichiers selon la date de création

bonsoir Man,

Cette 'Moulinette' tu l'as écrite? Est-elle ecrite en VBA dans un fichier excel?

si oui essaie de nous la joindre que nous puission y voir clair.

Ou alors essaie d'appeler la macro suivant en fin de 'Moulinette' :
Après avoir ajouter une feuille nommée "Rapport" dans le classeur qui la contient.
Code:
Sub fichiersCreerAujourdhui() 
Dim DerlLigne as long
Dim fso As Object, Dossier As Object
Dim Fichiers As Object, Fichier As Object, i As Integer
 
    DerLigne=Sheets("Rapport").Range("A" & rows.count).end(xlup).row
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set Dossier = fso.getfolder(ThisWorkbook.Path)
    Set Fichiers = Dossier.Files
    If Fichiers.Count <> 0 Then
        i = 0
        For Each Fichier In Fichiers
            If DateValue(Fichier.DateCreated) = Date Then
               DerLigne=DerLigne+1
               with Sheets("Rapport")
                        .Range("A" & DerLigne)=Fichier.Name
                        .Range("B" & Derligne)= Fichier.DateCreated
               End With
            End IF 
        Next
    End If
End sub

Cette macro copiera le nom de tous les fichiers du répertoire courant et créés dans la journée avec la date de création.
Si version xl<2007 65536
lignes possibles dans le rapport
Si xl 2007 plus d'un million

A bientôt
 
Re : compter fichiers selon la date de création

Bonjour a vous tous

je suis en train de tester la solution de Boisgontier qui est permet de faire ce que je souhaite mais j'ai encore un soucis.
J'aimerai que le code compte les fichiers créés sont dans un autre repertoire que mon fichier contenant le code.

ci dessous le code de Boisgontier sur lequel je bute

Sub essai()
repertoire = ThisWorkbook.Path
🙂confused: est il possible de mettre ex: F:\toto\test

nf = Dir("*.*")
Do While nf <> ""
If CDate(Left(FileDateTime(nf), 10)) = Date Then n = n + 1
nf = Dir
Loop
MsgBox n
End Sub
 
Re : compter fichiers selon la date de création

Bonsoir


Oui

repertoire = "F:\toto\test\"

Soux XL 2000, cela fonctionne avec ces modifs
Code:
Sub essai_II()
Dim n As Long
Dim repertoire As String
repertoire = "c:\temp\"
ChDir repertoire
nf = Dir("*.*")
'[COLOR=SeaGreen]les deux lignes ci-dessus peuvent ^tre remplacé par celle-ci
'nf = Dir(repertoire & "*.*")[/COLOR]
Do While nf <> ""
If CDate(Left(FileDateTime(nf), 8)) = Date Then n = n + 1
nf = Dir
Loop
MsgBox n
End Sub
 
Dernière édition:
Re : compter fichiers selon la date de création

bonjour à tous

Tout d'abord un grand merci à vous tous pour votre implication à mon soucis.

Je viens de tester la modif que ma proposé Staple (que je remercie) mais malgré mes efforts, Excel ne voit pas mes fichiers enregistrés ce jour.

J'ai repris le code directement dans une nouvelle feuille, créé un fichier .txt dans le répertoire c:\temp\ mais il ne le vois pas.

Merci de m'aider à comprendre pourquoi Excel n'arrive pas à compter dans mon répertoire c:\temp\

Je suis sous Excel 2002 (peut etre est ce important)

Merci à vous tous de vos réponses
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
6
Affichages
616
Retour