Conserver les 3 dernières sauvegrdes d'un fichier

perdinch

XLDnaute Occasionnel
Bonjour,

Y-a t'il un moyen de sauvegarder les 3 dernières sauvegardes d'un classeur?

J'utilise ce code mais je peux me retrouver avec une quantité importante de fichiers de sauvegardes crées.

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Chemin As String, Fichier As String

Chemin = "S:\depenses\SAUVEGARDES\"
'Ajoute la date du jour et l'heure dans le nom du fichier
Fichier = ActiveWorkbook.Name & Format(Date, "ddmmyyyy") & "_" & Format(Time, "hhmmss") & ".xls"

ActiveWorkbook.SaveCopyAs Chemin & Fichier

merci de vos idées ou suggestions.

PERDINCH
 

ERIC S

XLDnaute Barbatruc
Re : Conserver les 3 dernières sauvegrdes d'un fichier

Bonjour

pas le temps de rechercher une solution complète, mais oui c'est possible :

Code:
'tiré d'un exemple microsoft (aide "foundfiles")
'crée la liste des chemins des fichiers Excel et la stocke à partir de A10
Set fs = Application.FileSearch
With fs
    'thisworkbook.path
    .LookIn = repertoire
    'suffixe XLS pour fichiers Excel
    .Filename = "*.xls"
    'tri par ordre alphabétique
    If .Execute(SortBy:=msoSortByFileName, _
    SortOrder:=msoSortOrderAscending) > 0 Then
        'si il y a au moins un fichier trouvé, affichage du nombre
        MsgBox "Il y a " & .FoundFiles.Count & _
            " fichier(s) trouvé(s)."
        'écriture de la liste à partie de la ligne 10
        For I = 1 To .FoundFiles.Count
            'chemin
            Range("A9").Offset(I, 0).Value = .FoundFiles(I)
        Next I
    Else
        'si pas de fichier trouvé
        MsgBox "Pas de fichier Excel trouvé."
    End If
End With
doit permettre de compter, à adapter à ton cas (tu n'as pas besoin de stocker)

après, il faut utiliser deletefile

par contre il faut effacer les plus anciens et là soit tu recomposes la date, soit tu changes tes nom avec un format date année mois jour et tu effaces les x premiers, en fonction du comptage
 

Discussions similaires

Statistiques des forums

Discussions
312 843
Messages
2 092 757
Membres
105 525
dernier inscrit
jabyou