1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| Public Function Lister(chemin As String)
Dim fs, nomFich As String
Dim A, B, C, JT, MT, AT As String
Dim wsb As Worksheet
Set fs = CreateObject("Scripting.FileSystemObject")
Set wsb = ThisWorkbook.Sheets(2)
Lister = fs.getfolder(chemin).Files.Count
nomFich = Dir(chemin & "\*.cmp")
'je récupère l'année, le mois et le jour de la dernière mise à jour
A = wsb.Range("A1").Value
M = wsb.Range("B1").Value
J = wsb.Range("C1").Value
Dim DateMaJ As Date
DateMaJ = DateSerial(A, M, J)
Do While nomFich <> ""
'je récupère le jour le mois et l'année du fichier
JT = Left(nomFich, 2)
MT = Right(Left(nomFich, 4), 2)
AT = Right(Left(nomFich, 8), 4)
Dim DateFich As Date
DateFich = DateSerial(AT, MT, JT)
'si le fichier est ultérieur à la date de mise à jour, on charge le fichier dans la base et on fait les modifs
' If ((AT >= A) And (MT >= M) And (JT >= J)) Then
If DateFich > DateMaJ Then
'chargement du fichier et mise en forme
chargementFichier nomFich, chemin
ExportToutesDonneesVersAccess
Range("A1:H3000").Delete
End If
'je regarde le prochain fichier
nomFich = Dir
Loop
'Quand tous les fichiers sont explorés, je change la date de mise à jour
wsb.Range("A1") = Year(Date)
wsb.Range("B1") = Format(Month(Date), "00")
wsb.Range("C1") = Format(Day(Date), "00")
End Function |
Partager