Tester si l'utilisateur modifie le filtre automatique

Bonjour,

J'ai une feuille avec beaucoup de colonne et je voudrais avertir l'utilisateur qu'au moins un filtre est actif

Voilà comment je compte m'y prendre :

A l'ouverture du classeur je force l'affichage de toutes les données (ActiveSheet.ShowAllData)

J'ai crée un bouton "Effacer les filtres" pour lequel je forcerais un background vert si le filtre d'au moins une colonne a été activé.

L'opérateur pourra au passage effacer les filtres en cliquant dessus

Mon problème :

Comment détecter l’événement "filtre automatique modifié" (pour que je puisse changer le background de mon bouton sur cet évènement)

Merci pour votre aide

Bonjour

Essayez avec cette instruction qui va détecter si le filtre est actif et si oui, effacera le filtre

If activesheet.FilterMode Then ActiveSheet.ShowAllData

Crdlt

Merci pour la réponse cependant je pense qu'il ne correspond pas à mon besoin (je me suis peut être mal exprimé désolé)...je veux détecter l'action de modification du filtre automatique.

Il me faut un déclencheur ...Si l'utilisateur modifie le filtre alors changer le background du bouton

Si je donne un exemple avec une cellule cela donnerait cela :

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'Si l'utilisateur selectionne une cellule
Selection.Interior.Color = RGB(174, 240, 194) 'Alors changer la couleur de fond
End Sub

Bonjour,

Exemple en PJ

Boisgontier

Re,

Le fichier proposé par Boisgontier passe par une cellule intermédiaire (B15) mais pas sûr que ce soit ce qu'il vous faut.

Je pense qu'il faut passer par les modules de classe pour détecter ou revoir votre manière d'aborder le problème.

Bref, le mieux serait de voir votre fichier

Cordialement

Rechercher des sujets similaires à "tester utilisateur modifie filtre automatique"