Private Sub Worksheet_Change(ByVal Target As Range)
Dim lig&
If Target.Count > 1 Then Exit Sub
If Intersect(Target, Range("C7:E7")) Is Nothing Then Exit Sub
If Not IsDate([C7]) And Not IsDate([D7]) Then Exit Sub
If [E7] = "" Then Exit Sub
[B11:E1000].ClearContents
Dim p As Range, crit As Range
Set p = Range("filtre!$B$10:$E$10")
Set crit = Feuil4.Range("source2!$F$1:$H$2")
Sheets("source2").Range("TableauSource[#All]").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=crit, CopyToRange:=p, Unique:=False
End Sub