VBA : Supprimer les fichiers plus vieux de X jours

Shinreih

XLDnaute Nouveau
Bonjour à vous tous

Je me permets de vous solliciter autour de mon problème :

J'ai un code vba qui générè des sauvegardes a chaque enregistrement de mon fichier excel.
Afin de ne pas saturer le dossier de sauvegarde je souhaiterais automatiser la suppression des fichiers excel plus vieux de X jours

Les sauvegardes sont nommées selon cette nomenclature:

emplacement\sauvegardefichier_jourdesauvegardeheuredesauvegarde.xlsm

J'ai un code VBA me permettant de supprimer un fichier défini


Code:
'macro de suppression des fichiers de sauvegardes ancines
Sub purgersauvegarde()
    'verifie l'existence du fichier de sauvegarde
    Call TESTDOSSIERSAVE
            
    'Emplacement des sauvegardes à supprimer
    cheminsauvegardes = Sheets("CRITERES").Range("Z14").Value
    
    'Nom et emplacement du fichier actuel
    nomsauvegardes = Sheets("CRITERES").Range("Z8").Value
    
    'supprime la sauvegarde fichier
    Dim GestionFichier As New Scripting.FileSystemObject
    GestionFichier.DeleteFile "cefichier"
    Set GestionFichier = Nothing

End Sub



mon soucis c'est qu'il me manque la méthode pour supprimer les fichiers plus vieux de X jours

Pouvez-vous m'orienter s'il vous plait ?
Merci d'avance de votre précieuse aide et de m'accorder ainsi un peu de votre cogito!

Bien à vous!

Cordialement,
Shinreih
 
Dernière édition:

Shinreih

XLDnaute Nouveau
Re : VBA : Supprimer les fichiers plus vieux de X jours

Bonjour,

comme ceci

VB:
Sub testdate()
chemin = "C:\Users\Marcel\Documents\"
nf = chemin & "Testini.ini"
DateModifFichier = FileDateTime(nf)
MsgBox DateModifFichier
End Sub


Merci de votre aide...

Cependant je suis confuse


C'est un message qui donne la date , cependant je ne comprends comment on teste la date de chaque fichier et on les supprime le cas échéant avec ce code? :confused:

Pourriez-vous éclairez ma lanterne de touchoteuse de VBA s'il vous plaît ?


Très courtoisement,
Shinreih
 
Dernière édition:

gilbert_RGI

XLDnaute Barbatruc
Re : VBA : Supprimer les fichiers plus vieux de X jours

Attention mise en garde :(
les fichiers n' ayant eu une modification ou un enregistrement datant de 7 jours et plus seront supprimés définitivement.

voir à ne pas employer au retour de congés par exemple :rolleyes:
 

Pièces jointes

  • lister-supprimer_fichiers.xlsm
    39.2 KB · Affichages: 158
Dernière édition:

Shinreih

XLDnaute Nouveau
Re : VBA : Supprimer les fichiers plus vieux de X jours

J'ai finalement trouver encore plus simple

mes fichiers de sauvegardes s'appelle tous sauvegardenomfichier_datedecreationsauvegarde.xlsms

1. dans une cellule 1 j'entre = aujourdhui()
2. dans une 2eme cellule = cellule 1 - X ce qui créer la date de création des fichiers à supprimer
3. dans la cellule Z17 je concatène le nom de nom fichier et la date de création des fichiers à supprimer sans le .xlsm ensuite j'entre ce code dans visual basic

Code:
Sub PURGELESSAUVEGARDES()
    'japelle la macro qui créer les sauvegarde pour etre sure qu'il m'enreste au moins une
    Call creersauvegarde
     'j'appelle la valeur de la cellule où j'ai définis le nom des fichiers à supprimer
    radicalasupprimer = Sheets("CRITERES").Range("Z17").Value
    
    Dim GestionFichier As New Scripting.FileSystemObject
    MsgBox "Confirmer la purge des sauvegardes j-1 ?"
    On Error Resume Next
    ' efface plusieurs fichiers à la fois grâce à l'étoile : La ligne suivante efface tous les fichiers qui commencent par la valeur comprise dans radicalasupprimer mais dont l'extension est ".xlsm"
    GestionFichier.DeleteFile radicalasupprimer & "*" & ".xlsm", True
    
    On Error GoTo 0
    'MsgBox "Purge des sauvegarde effectuée"
    Set GestionFichier = Nothing
    
End Sub


Je sais c'est de la bidouille mais du coup pour changer les délais de suppression je n'ai plus qu'à aller dans ma feuille et non dans VBA

Merci gilbert pour votre aide

Très courtoisement
Shinreih

sources très complètes
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 755
Messages
2 091 726
Membres
105 058
dernier inscrit
axcelle