Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range, dat$, valide As Boolean
Set r = Intersect(Target, [A2:L17])
If r Is Nothing Then Exit Sub
Application.EnableEvents = False
For Each r In r 'si entrées multiples (copier-coller)
dat = r.Value2 & "/" & r.Column & "/" & Cells(r.Row, "N")
valide = False
If IsDate(r) Then valide = Month(r) = r.Column And Year(r) = Cells(r.Row, "N")
If IsDate(dat) Then r = CDate(dat) Else If Not valide Then r = ""
Next
Application.EnableEvents = True
End Sub