Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
Application.EnableEvents = False 'désactive les évènements
On Error Resume Next 'sécurité
[A:A].Copy [C1] 'copier-coller
ListObjects(2).Range.RemoveDuplicates 1, xlYes 'supprime les doublons
With ListObjects(2).Range
.Cells(Application.Match(Application.Max(.Value2), .Value2, 0)).Delete xlUp 'supprime la date la plus récente
End With
With [Choix_Date].Validation 'cellule nommée
.Delete
.Add xlValidateList, Formula1:="=" & ListObjects(2).DataBodyRange.Address(External:=True)
.Parent = "" 'RAZ au cas où...
.Parent = Application.Max(ListObjects(2).Range) 'date la plus récente
End With
Application.EnableEvents = True 'réactive les évènements
End Sub