Private Sub CommandButton1_Click()
If AutoFilterMode = False Then Exit Sub 'si pas de filtre...
Dim i As Byte
With AutoFilter.Filters
For i = 1 To .Count
If .Item(i).On Then Selection.AutoFilter Field:=i
Next
End With
End Sub
Private Sub Worksheet_Calculate()
If AutoFilterMode = False Then Exit Sub 'si pas de filtre...
Dim couleur, i As Byte
On Error Resume Next 'si pas assez de couleurs...
couleur = Array(&HFF00&, &HFF&, &H8080FF, &HC0C0FF) 'à compléter suivant le nombre de colonnes
CommandButton1.BackColor = couleur(0)
With AutoFilter.Filters
For i = 1 To .Count
If .Item(i).On Then CommandButton1.BackColor = couleur(i)
Next
End With
End Sub