Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim Y
If Sh.ProtectContents Then
For Each LO In Sh.ListObjects
If Target.Row = LO.DataBodyRange.Rows.Count + LO.HeaderRowRange.Row + 1 Then
If Not (Intersect(Sh.Range(Sh.Cells(1, Target.Column), Sh.Cells(1000000, Target.Column)), LO.Range) Is Nothing) Then
Sh.Unprotect Password:=Monpass
Y = Target.Value
Application.EnableEvents = False
Application.Undo
Target = Y
Sh.Protect UserInterfaceOnly:=True, Password:=Monpass
Application.EnableEvents = True
Exit For
End If
End If
Next LO
End If
End Sub