Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [B1]) Is Nothing Then Exit Sub
Application.ScreenUpdating = False
On Error Resume Next
Me.ShowAllData 'affiche tout
On Error GoTo 0
If [B1] = "" Then Exit Sub
[K6] = "=OR(B6=B$1,B7=B$1,B8=B$1,B9=B$1)" 'critère de filtrage
Range("A5:J" & [A65536].End(xlUp).Row + 3).AdvancedFilter xlFilterInPlace, [K5:K6]
[K6] = ""
Target.Select
End Sub