Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim Cel As Range, Plage As Range
If Not TypeOf Sh Is Worksheet Then Exit Sub
Set Plage = Sh.Range("B2:Y221")
Sh.Unprotect
For Each Cel In Plage
'
' Si l'on veut verouiller UNIQUEMENT celles qui correspondent au critère
' et dévérouiller les autres décommenter la ligne suivante
'Cel.Locked = Cel.DisplayFormat.Interior.ColorIndex <> -4142
'
' si on veut traiter uniquement celles qui correspondent au critère
If Cel.DisplayFormat.Interior.ColorIndex <> -4142 Then Cel.Locked = True
Next
Sh.Protect
End Sub