Sauvegarder automatiquement une copie de votre fichier à l'enregistrement

L'objectif est de créer automatiquement une copie de sauvegarde à chaque enregistrement du fichier.

Voici un code facile à implanter :

=> ALT+F11 pour accéder au VBA,

=> puis double clic sur ThisWorkbook et

=> finalement on colle le code.

A la sauvegarde, un dossier "version" est créé et une copie du fichier est automatiquement faite.

Le code :

Private Sub Workbook_AfterSave(ByVal Success As Boolean)
    If Not Success Then Exit Sub
    If Len(ThisWorkbook.Path) = 0 Then Exit Sub

    Dim sFolder As String, sBase As String, sExt As String, sCopy As String
    sFolder = ThisWorkbook.Path & "\Version"
    If Dir(sFolder, vbDirectory) = vbNullString Then MkDir sFolder

    sBase = Left$(ThisWorkbook.Name, InStrRev(ThisWorkbook.Name, ".") - 1)
    sExt = Mid$(ThisWorkbook.Name, InStrRev(ThisWorkbook.Name, "."))
    sCopy = sFolder & "\" & sBase & "_" & Format$(Now, "yyyymmdd_hhnnss") & sExt

    ThisWorkbook.SaveCopyAs sCopy
End Sub

A bientôt

Pour marque-pages : Permaliens.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *


La période de vérification reCAPTCHA a expiré. Veuillez recharger la page.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.