J'ai essayé avec ce code VBA mais il ne fonctionne pas ... Je vois qu'il prend bien en compte le filtrage mais tout mon tableau s'efface donc plus rien ...
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$M$2" Then Exit Sub
With ActiveSheet
If .[M2] = "" Then
.AutoFilterMode = False
Else
.Range(.[A5], .Cells(.Rows.Count, 21).End(xlUp)).AutoFilter 13, .[M2]
.Range(.[A5], .Cells(.Rows.Count, 21).End(xlUp)).AutoFilter 15, .[M2]
.Range(.[A5], .Cells(.Rows.Count, 21).End(xlUp)).AutoFilter 17, .[M2]
End If
End With
End Sub