Bonjour,
Une proposition à adapter.
Cdlt.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ws As Worksheet, rng As Range
If Target.Address = "$D$2" Then
Me.Cells(4, 1).CurrentRegion.Offset(1).ClearContents
If Not IsEmpty(Target) Then
Set ws = Worksheets("Feuil1")
Set rng = ws.Cells(1).CurrentRegion
rng.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Me.Cells(4).CurrentRegion, _
CopyToRange:=Me.Cells(5, 1).CurrentRegion.Resize(1), _
Unique:=False
End If
End If
End Sub