Sub Test()
Dim CritCur, CritNew As String
Dim Idx As Integer, J As Integer
Idx = 8
With [Tableaudata].ListObject
If .AutoFilter.FilterMode Then
ReDim CritCur(1 To .AutoFilter.Filters(Idx).Count)
Select Case UBound(CritCur)
Case 1: CritCur(1) = .AutoFilter.Filters(Idx).Criteria1
Case 2: CritCur(1) = .AutoFilter.Filters(Idx).Criteria1
CritCur(2) = .AutoFilter.Filters(Idx).Criteria2
Case Else: CritCur = .AutoFilter.Filters(Idx).Criteria1
End Select
Num = InputBox("Critères en cours:" & vbLf & _
Join(CritCur, vbTab) & vbLf & _
"Indiquez la valeur à exclure", _
.HeaderRowRange.Cells(Idx))
If Num <> "" Then
For J = 1 To UBound(CritCur)
If "=" & Num <> CritCur(J) _
Then CritNew = CritNew & Mid(CritCur(J), 2) & " "
Next
If CritNew = "" Then
.Range.AutoFilter Field:=Idx
Else
.Range.AutoFilter Field:=Idx, Operator:=xlFilterValues, _
Criteria1:=Split(Trim(CritNew))
End If
End If
End If
End With
End Sub