Private Sub Worksheet_Change(ByVal Target As Range)
Dim Lg&
If Not Application.Intersect(Target, Range("a4")) Is Nothing Then
Application.ScreenUpdating = False
On Error Resume Next
ActiveSheet.ShowAllData 'libère les filtres
On Error GoTo 0
If Target.Count > 1 Or Target = "" Then Exit Sub
Lg = Range("a" & Rows.Count).End(xlUp).Row
Range("k2") = "=b9=$a$4" 'critère
Range("a8:j" & Lg).AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Range("k1:k2"), Unique:=False
Range("k2").ClearContents
If Range("a65000").End(xlUp) = "Nom" Then MsgBox ("rien cette semaine !")
End If
End Sub