Option Explicit
Private Const CouleurMFC = vbYellow '-1 pour toutes les couleur
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cellule As Range
For Each Cellule In Target.Cells
If CouleurMFC = -1 Then
If Not Cellule.DisplayFormat.Interior.ColorIndex = xlNone Then Exit For
Else
If Cellule.DisplayFormat.Interior.Color = CouleurMFC Then Exit For
End If
Next Cellule
If Not Cellule Is Nothing Then
MsgBox "On ne peut pas modifier une cellule colorée"
Application.EnableEvents = False
Application.Undo
Application.EnableEvents = True
End If
End Sub