Bonjour à tous,
Voici mon code de sauvegarde.
Mon problème est que le compteur enregistre en incrémentant de 1 à chaque sauvegarde, et je me retrouve avec une trentaine de sauvegardes en fin de journée.
J'aimerai que le code ci-dessous enlève les premières sauvegarde pour ne garder que les 2 dernières.
Pouvez-vous me donner un coup de main pour effacer les premières sauvegardes.
Sub Sauvegarde_Générale()
'création d'une nouvelle sauvegarde dans c:\Mes Documents\Accès EST\Entrées Véhicules Sauvegarde
Dim Conf As Byte, cpt As Byte
Dim NomFichier As String, Chemin As String, Repertoire As String, Fichier As String
Conf = MsgBox("Voulez-vous créer une nouvelle sauvegarde" & vbCrLf & " ", vbYesNo + vbQuestion + vbDefaultButton2, "Confirmation")
If Conf = vbNo Then Exit Sub
If Conf = vbYes Then
'donne le nom du nouveau fichier
NomFichier = "Entrées Véhicules Sauvegarde du " & Format(Date, "dd-mm-yyyy" & " _" & Format(Time, "hh-mm"))
If Sheets("Base_Véhicules").Range("A2") <> "" Then 'si la cellule contenant le chemin (C5) n'est pas vide
'alors le fichier sera enregistré à l'emplacement indiqué par C5 et sous le nom NomFichier
Repertoire = Sheets("Base_Véhicules").Range("A2").Value
Chemin = Repertoire & "\" & NomFichier & ".xlsm"
Else
Repertoire = ActiveWorkbook.Path
Chemin = Repertoire & "\" & NomFichier & ".xlsm" 'sinon le répertoire est celui du fichier actif
End If
'***On regarde si le fichier existe déjà.
'***Si oui on incrémente un compteur que l'on attachera au nom du fichier
cpt = 0
recherche:
ChDir Repertoire
Fichier = Dir(Repertoire & "\" & "*.xlsm")
Do While Fichier <> ""
If Fichier = NomFichier & ".xlsm" Then
cpt = cpt + 1
If cpt = 1 Then
NomFichier = NomFichier & "_" & Format(cpt, "000")
Else
NomFichier = Left(NomFichier, Len(NomFichier) - 3) & Format(cpt, "000")
End If
GoTo recherche
End If
Fichier = Dir ' fichier suivant dans le répertoire
Loop
Chemin = Repertoire & "\" & NomFichier & ".xlsm"
'ENREGISTRER SOUS
ActiveWorkbook.SaveCopyAs Chemin
'ferme le fichier en cours sans sauvegarde
'Application.Quit
End If
End Sub
Merci et bonne journée