Option Explicit
Private Sub Workbook_Open()
Dim NomComplet As String
On Error Resume Next
NomComplet = [ChNomFicOfficiel]
On Error GoTo 0
If NomComplet <> "" Then
If Me.FullName <> NomComplet Then Me.Close SaveChanges:=False
ElseIf MsgBox("Avez-vous ouvert ce fichier depuis son emplacement définitif ?", _
vbYesNo, "Ouverture " & Me.Name) = vbYes Then
Me.Names.Add "ChNomFicOfficiel", "=""" & Me.FullName & """", Visible:=False
End If
Feuil2.Visible = xlSheetVisible
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Feuil2.Visible = xlSheetVeryHidden
' Pour le cas où le classeur serait ouvert sans activer les macros.
' Remarque: pour que cette propriété puisse difficilement être changée,
' protégez le projet par un mot de passe.
End Sub