Bonjour,
Fais un test avec la procédure "DernierFichier48h" (elle utilise deux fonctions). Pour ne pas commettre l'irréparable, fais une copie de tes derniers fichiers inférieur à 48h mais laisses les fichiers originaux (qui sont aussi par là des copies) dans le dossier malgré tout, afin de voir si il sont bien évités :
Sub DernierFichier48h()
Dim Tbl() As String
Dim Chemin As String
Dim Fichier As String
Dim I As Integer
Chemin = "C:\Users\Joël\Google Drive\Documents\Cératizit\contrôle des gaz\copie de sauvegarde\"
Tbl() = ListeFichiers(Chemin, ".xlsm")
For I = 1 To UBound(Tbl)
If CDate(ProprietesFichier(Chemin & Tbl(I))) < Now - 2 Then
On Error Resume Next
Kill Chemin & Tbl(I) 'attention, les fichiers seront supprimés définitivement ! (sans être mis dans la corbeille)
End If
Next I
End Sub
Function ProprietesFichier(Chemin As String) As String
Dim Fso As Object
Dim Doc As Object
If Dir(Chemin) <> "" Then
Set Fso = CreateObject("Scripting.FileSystemObject")
Set Doc = Fso.GetFile(Chemin)
With Doc
ProprietesFichier = .DateLastModified
End With
Else
ProprietesFichier = "Fichier introuvable"
End If
Set Doc = Nothing
Set Fso = Nothing
End Function
Function ListeFichiers(Chemin As String, _
Extension As String) As String()
Dim Tbl() As String
Dim Fichier As String
Dim I As Integer
Fichier = Dir(Chemin & "*" & Extension)
Do While (Len(Fichier) > 0)
If InStr(Fichier, Extension) <> 0 Then
I = I + 1
ReDim Preserve Tbl(1 To I)
Tbl(I) = Fichier
End If
Fichier = Dir()
Loop
ListeFichiers = Tbl()
End Function