Lier 2 macros à un bouton

Fermé
Lefix Messages postés 8 Date d'inscription dimanche 12 février 2017 Statut Membre Dernière intervention 24 mars 2017 - 12 févr. 2017 à 13:10
cousinhub29 Messages postés 936 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 11 septembre 2024 - 12 févr. 2017 à 13:45
Bonjour,
Je voudrais lier 2 macros à un bouton, je m'explique: ce bouton ouvrira ou fermera un filtre, et cela ne marche pas, je pense que je n'ai pas saisi de la bonne façon.

Sub essai1()
'Si le filtre est fermer, l'ouvrir
If ActiveSheet.ListObjects("Tableau37").Range.AutoFilter = "" Then
ActiveSheet.ListObjects("Tableau37").Range.AutoFilter = "10000"
'Si par contre le filtre est ouvert, le fermer
ElseIf ActiveSheet.ListObjects("Tableau37").Range.AutoFilter = "10000" Then
ActiveSheet.ListObjects("Tableau37").Range.AutoFilter = ""
End If
Range("G2").Select
End Sub
A voir également:

2 réponses

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 411
12 févr. 2017 à 13:26
Re bonjour :-)

en principe (du moins dans mes fichiers ça fonctionne comme ça)

la ligne ci dessous, placé après la sélection de la ligne de titres,

Selection.AutoFilter

avec un seul bouton, place le filtre quand il n'y est pas et l'ôte quand il y est

(comme le bouton du ruban, en fait)

Merci âr ailleurs de supprimer votre fil précédent en doublon

crdlmnt

1
Lefix Messages postés 8 Date d'inscription dimanche 12 février 2017 Statut Membre Dernière intervention 24 mars 2017
12 févr. 2017 à 13:33
Merci, je me hate d'essayer.
Par ailleurs comment fait on pour supprimer le doublon?
0
cousinhub29 Messages postés 936 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 11 septembre 2024 339
12 févr. 2017 à 13:45
Bonjour,

Essaie ainsi, en modifiant la colonne de critère (Field:=numéro de colonne de ton tableau)

Sub Macro1()
If ActiveSheet.FilterMode Then
ActiveSheet.ListObjects("Tableau37").Range.AutoFilter Field:=2
Else
ActiveSheet.ListObjects("Tableau37").Range.AutoFilter Field:=2, Criteria1:="10000"
End If
End Sub


Bon dimanche (PS, ne prend pas mal les remontrances, ce ne sont que des conseils...)
0