Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim Autorisé As Range
Set Autorisé = Range("D5:D10,D12:D17,D19:D24")
If Autorisé.Address = Union(Target, Autorisé).Address Then Exit Sub
Application.EnableEvents = False
Application.Undo
Application.EnableEvents = True
MsgBox "Impossible de modifier cette cellule.", 48
End Sub