Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim Rep
Cancel = True
Rep = Application.GetSaveAsFilename(InitialFileName:=Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 4) & "-copie.xls", Filefilter:="Fichiers Excel (*.xls), *.xls")
If Rep = False Then Exit Sub
If Rep = ThisWorkbook.FullName Then
MsgBox "Impossible d'écraser le fichier original - Action annulée"
Else
Application.EnableEvents = False
ThisWorkbook.SaveAs Filename:=Rep
Application.EnableEvents = True
End If
End Sub