Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Supprimer les fichiers plus vieux de 3 jours

KTM

XLDnaute Impliqué
Bonsoir Forum
Jai un dossier "Save" dans lequel j"enregistre des copies de sauvegarde de mon Fichier "Produit" à chaque enregistrement du fichier
selon le code :
Dim chemin$
chemin = ThisWorkbook.Path & "\Save\"
If Dir(chemin, vbDirectory) = "" Then MkDir chemin
ThisWorkbook.SaveCopyAs chemin & Format( Now, & ThisWorkbook.Name

Jaimerais supprimer a chaque sauvegarde les copies vielles de plus de 3 jours. Est ce possible? Merci.
 

job75

XLDnaute Barbatruc
Bonjour KTM, Efgé,

Placez dans ThisWorkbook :
VB:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim chemin$, fichier$, dat$, h$
chemin = ThisWorkbook.Path & "\Save\"
If Dir(chemin, vbDirectory) = "" Then MkDir chemin
ThisWorkbook.SaveCopyAs chemin & Format(Now, "yyyymmdd hhmmss ") & ThisWorkbook.Name
fichier = Dir(chemin & "*.xls*")
While fichier <> ""
    dat = Mid(fichier, 7, 2) & "/" & Mid(fichier, 5, 2) & "/" & Left(fichier, 4)
    h = Mid(fichier, 10, 2) & ":" & Mid(fichier, 12, 2) & ":" & Mid(fichier, 14, 2)
    dat = dat & " " & h
    If IsDate(dat) Then If Now - CDate(dat) > 3 Then Kill chemin & fichier
    fichier = Dir
Wend
End Sub
A+
 

KTM

XLDnaute Impliqué
Fantastique
Le temps de décortiquer ce sublime code ; juste vous dire que c'est super!!!!!
 

Discussions similaires

Réponses
2
Affichages
342
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…