Salut Nathalie,
Salut Lou Reed,
- très simple : un clic dans une cellule de couleur différente que celle autorisée envoie (SELECT) vers [B2] ;
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'
If Target.Interior.ColorIndex <> 43 Then [B2].Select
'
End Sub
- sinon, tu te choisis (par exemple, n'est-ce pas) une cellule "secrète" où un clic ou un double-clic ou un clic-droit ou l'encodage d'un symbole particulier, ou..., ou... déclenchera la protection ou la libération des cellules concernées, voire de la feuille complète.
L'imagination au pouvoir!
- ici, j'ai choisi un double-clic en [A1] pour autoriser ou refuser l'accès à [A1:E2] et un double-clic en [A2] pour libérer la feuille.
La couleur de fonte de [B1] passe du rouge au blanc selon la situation mais tu peux inventer mille autres trucs...
Tu peux choisir de ne pas mettre de mot de passe en supprimant Password:="123" du code.
Mot de passe sophistiqué exigé, hein : 123... Trouveront jamais!
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'
Cancel = True
'
If Not Intersect(Target, [A1]) Is Nothing Then
Sheets("Feuil1").Unprotect
[B1].Font.ColorIndex = IIf([B1].Font.ColorIndex = 2, 3, 2)
Range("A1").Resize(2, 5).Locked = IIf([B1].Font.ColorIndex = 3, True, False)
Sheets("Feuil1").Protect Password:="123"
End If
'
If Not Intersect(Target, [A2]) Is Nothing Then Sheets("Feuil1").Unprotect
'
End Sub
A+