Bonjour !
Je vous sollicite une dernière fois car mon code touche bientôt à sa fin lol,
J'aimerais modifier le code ci-dessous afin qu'il ne traite QUE les fichiers avant une certaine date !
C'est à dire, si le fichier A est daté du 22/02/2019 et que je veux seulement traité ceux avant le 22/02/2018. Eh bah, le fichier A ne sera pas traité !
Est-ce possible à votre avis ?
Ca ne doit pas être bien dur mais je ne sais pas comment récupérer la date d'un fichier.
Ce que j'ai mis en gras est le début de code que j'ai écris afin de rajouter cette fonctionnalité !
Bien à vous.
Et si par ailleurs, quelqu'un sait comment fermer les fichiers après leurs ouvertures, ca serait la bienvenue.
Sub AnalyseClasseurs()
Dim Wb As Workbook ' représente un classeur
Dim Ws As Worksheet ' représente une feuille de calcul
Dim NbClasseurs As Integer ' Nombre de classeurs traités
Dim C As Integer ' Permet de parcourir les colonnes
Dim ColDate As Integer ' Colonne courante pour l'onglet DATE
Dim ColNom As Integer ' Colonne courante pour l'onglet NOM
Dim MyStamp As Integer
My Stamp = Wb.date ?
If My Stamp < .... then
NbClasseurs = 0
' On efface le contenu des onglets "DATE" et "NOM"
Sheets("DATE").Select
Cells.Select
Selection.ClearContents
Sheets("NOM").Select
Cells.Select
Selection.ClearContents
ColDate = 1 ' On démarre le remplissage à la colonne 1 pour l'onglet DATE
ColNom = 1 ' On démarre le remplissage à la colonne 1 pour l'onglet NOM
For Each Wb In Application.Workbooks ' Boucle sur chaque classeur ouvert
If Wb.Name <> ThisWorkbook.Name Then ' Si c'est pas CE classeur
NbClasseurs = NbClasseurs + 1
For Each Ws In Wb.Worksheets ' Boucle sur chaque feuille de chaque classeur
C = 1
While Ws.Cells(1, C) <> "" ' On passe les colonnes occupées en revue
If Ws.Cells(1, C) = "DATE" Then
' On copie la colonne
Ws.Columns(C).Copy (ThisWorkbook.Sheets("DATE").Columns(ColDate))
ColDate = ColDate + 1 ' On avance d'une colonne
ElseIf Ws.Cells(1, C) = "NOM" Then
' On copie la colonne
Ws.Columns(C).Copy (ThisWorkbook.Sheets("NOM").Columns(ColNom))
ColNom = ColNom + 1 ' On avance d'une colonne
End If
C = C + 1
Wend
Next Ws
End If
Next Wb
If NbClasseurs = 0 Then MsgBox ("ERREUR: Aucun classeur ouvert disponible")
End Sub