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
312 165
Messages
2 085 880
Membres
103 009
dernier inscrit
dede972