Bonjour,
Je vois que le post est résolu mais je verrai bien ça comme ceci :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim MDP As String
Const PlageA As String = "A4:A14"
Const PlageB As String = "B4:B14"
Const mdp1 As String = "MotDePasse1"
Const mdp2 As String = "MotDePasse2"
Const mdpAdmin As String = "MDP_Administrateur"
Select Case Target.Address(0, 0)
Case "A1"
MDP = InputBox("Entrer votre mot de passe pour accéder à vos plages.", "Déverouillage de plages")
If MDP = "" Then Exit Sub
If MDP = mdp1 Then
ActiveSheet.Unprotect mdpAdmin
ActiveSheet.Range(PlageA).Locked = False
ActiveSheet.Range(PlageB).Locked = True
ActiveSheet.Protect mdpAdmin, True, True, True
MsgBox "Zone '" & PlageA & "' déverrouillée !"
Else
MsgBox "Ce mot de passe ne correspond à personne.", , "Erreur d'identification"
End If
Case "A25"
MDP = InputBox("Entrer votre mot de passe pour accéder à vos plages.", "Déverouillage de plages")
If MDP = "" Then Exit Sub
If MDP = mdp2 Then
ActiveSheet.Unprotect mdpAdmin
ActiveSheet.Range(PlageB).Locked = False
ActiveSheet.Range(PlageA).Locked = True
ActiveSheet.Protect mdpAdmin, True, True, True
MsgBox "Zone '" & PlageB & "' déverrouillée !"
Else
MsgBox "Ce mot de passe ne correspond à personne.", , "Erreur d'identification"
End If
End Select
End Sub