Salut avdhenour,
Private Sub Worksheet_Change(ByVal Target As Range)
'
If ActiveSheet.AutoFilterMode = True Then ActiveSheet.AutoFilterMode = False
If Not Intersect(Target, Range("D15")) Is Nothing Then _
If Range("D15").Value <> "" Then _
Range("B22").Resize(Range("B" & Rows.Count).End(xlp).Row, Cells(22, Columns.Count).End(xlToLeft).Column) _
.AutoFilter field:=5, Criteria1:=Range("D15").Value
'
End Sub
A+