tu n'est pas obligé de mettre la colonne "i" dans la Feuil2
Sub Filtre()
Dim Lg
Lg = Cells.Find("*", , , , xlByRows, xlPrevious).Row
Range("q2") = "=i2=""x""" 'critère de filtre
With Sheets("Feuil2")
Range("a1:k" & Lg).AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
Range("q1:q2"), CopyToRange:=.Range("a1:j1"), Unique:=False
Range("q2").ClearContents
.Activate
End With
End Sub