Effacer une sauvegarde

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

Bonjour

Avec le fichier qui va avec la macro, il serait possible de faire des tests.

Sans lui, c'est plus difficile...

Bye !

Voici le fichier

Le code est tranchant

Le mot de passe est 8q778fz

Merci pour ton aide

18base.xlsm (102.25 Ko)

Désolé mais je ne peux pas l'ouvrir

Salut gmb,

J'ai remis le fichier.

merci

14base.xlsm (102.25 Ko)

Volà ce que j'obtiens :

capture

Bye !

re gmb

Oui ca c'est l'accès tu met tranchant et en code 8q778fvz

ensuite tu as accès sur la feuille, à ta droite tu as un bouton rouge, tu appuie dessus ca va te créer une sauvegarde, tu reclic une autre sauvegarde.

Le problème est que à chaque fois que tu appuie sur le bouton rouge pour sauvegarder, à la fin de la journée, je me retrouve avec une bonne trentaine de sauvegarde vu que le compteur génère 1 à chaque appuie sur le bouton.

J'aimerais pouvoir ne garder que les deux dernières sauvegarde et que le VBA efface les suivantes du genre :

SI "sauvegarde" est supérieur à 3 alors efface sauvegarde 1.

Merci de ton aide

Rechercher des sujets similaires à "effacer sauvegarde"