Bonjour,
Un essai ...
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("critère"), Target) Is Nothing And Target.Count = 1 Then
With ActiveSheet
.Range("A4").AutoFilter
If .Range("G2") <> "" Then .Range("$A$3:$C$1000").AutoFilter Field:=3, Criteria1:=.Range("G2")
If .Range("H2") <> "" Then .Range("$A$3:$C$1000").AutoFilter Field:=2, Criteria1:=.Range("H2")
End With
End If
End Sub
ric