XL 2016 VBA Bouton Filtre

Bourbonkid59

XLDnaute Nouveau
Bonjour à tous,

Après plusieurs recherches infructueuses, je viens vous demander de l'aide.

J'ai trouvé un code que j'ai modifié pour avoir un bouton qui me filtre un tableau en fonction du contenu de la colonne M (contient "oui" ou "x").

VB:
Private Sub CommandButton2_Click()

With Worksheets("Rapport 1")
    If Not .AutoFilterMode Then .Range("M1").AutoFilter
End With

Range("M1").AutoFilter Field:=1, Criteria1:="oui", Operator:=xlOr, Criteria2:="x"
End Sub

Le bouton fonctionne correctement seulement si il y a déjà un filtre manuel sur la colonne M.
Si je supprime manuellement le filtre, j'ai une fenêtre d'erreur qui apparait.
Pouvez-vous m'aider à résoudre ce problème.
Un grand merci d'avance à vous.
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour bourbonkid, bonjour le forum,

Peut-être comme ça :

VB:
Private Sub CommandButton2_Click()
With Worksheets("Rapport 1")
    If .FilterMode Then .Range("M1").AutoFilter
End With
Range("M1").AutoFilter Field:=1, Criteria1:="oui", Operator:=xlOr, Criteria2:="x"
End Sub
 

xUpsilon

XLDnaute Accro
Bonjour

Effectivement, si tu désactives le filtre, alors .FilterMode est false, donc .AutoFilter ne s'applique pas, donc Range("M1").AutoFilter ne peut pas s'exécuter.
J'aurais tendance à penser que le If Not était plus adapté à vrai dire.

Bonne continuation
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
311 740
Messages
2 082 047
Membres
101 880
dernier inscrit
Anton_2024