1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If ThisWorkbook.Saved = False Then
' ouvrir une boite à méssage :
msg = "Faut-il enregister les changement effectués dans le fichier ?" & vbCrLf & vbCrLf & ActiveWorkbook.Path & "\" & ActiveWorkbook.Name ' Définit le message (& vbcrlf : saut de ligne).
Style = vbYesNo + vbDefaultButton1 ' Définit les boutons.
Title = "ATTENTION !" ' Définit les titres.
Réponse = MsgBox(msg, Style, Title)
If Réponse = vbYes Then ' Vous avez choisi le bouton « Oui ».
ActiveWorkbook.Save 'enregistre le fichier sous le mon d'origine
Else 'Vous avez choisi le bouton Non.
' Accomplit une autre chose (ici rien).
End If
' Enregitrement de sauvegarde dans un sous dodssier quelque soit le choix précédent
Dim Doss As String
Doss = ActiveWorkbook.Path & "\sav\"
If Dir(Doss, vbDirectory) = "" Then
MkDir Doss
MsgBox "Le sous-dossier de sauvegarde " & Doss & " a été crée"
End If
nom = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4) & "_" & Format(Date, "yyyy-mm-dd") & "_" & Format(Time, "hhmmss") & ".xls"
ActiveWorkbook.SaveCopyAs ActiveWorkbook.Path & "\sav\" & nom
' rep = MsgBox("Fichier sauvegardée sous le nom : " & nom, vbYes + vbInformation, "Worksheet Backup Copy")
Else
End If
End Sub |
Partager