
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