Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("b5,c5")) Is Nothing Then
Application.ScreenUpdating = False
On Error Resume Next
ActiveSheet.ShowAllData 'libère le filtre
On Error GoTo 0
Range("a8:j" & [b65000].End(xlUp).Row).AdvancedFilter _
Action:=xlFilterInPlace, CriteriaRange:=Range("b4:c5"), Unique:=False
End If
End Sub