XL 2010 Remplacer un filtre (portant sur 1 critère) avec un bouton (macro)

Laminedor2lalog

XLDnaute Nouveau
Bonjour,

Je suis débutant en VBA, et j'aimerais utiliser un bouton pour remplacer un filtre portant sur 1 seul critère.
J'aimerais qu'en cellule B2, je puisse saisir n'importe quel mot (et pas uniquement câble) et qu'en appuyant sur le bouton, le filtre se mette en place tout seul.
Par exemple, si je tape cable, j'ai 3 lignes (6, 11 et 38)

Je souhaite également filtrer et dé filtrer ave le même bouton.

Je joins mon fichier pour exemple

Merci beaucoup pour votre aide
 

Pièces jointes

  • Excercice_MACRO_Filtre.xlsx
    25.3 KB · Affichages: 10
Solution
Bonsoir,
Une proposition en PJ
VB:
Private Sub CommandButton1_Click()
    If CommandButton1.Caption = "Filtrer" Then
        ActiveSheet.[a:b].AutoFilter Field:=2, Criteria1:="=*" & [D1] & "*"
        CommandButton1.Caption = "Enlever filtre"
    Else
        CommandButton1.Caption = "Filtrer"
        If ActiveSheet.FilterMode Then ActiveSheet.ShowAllData
    End If
End Sub

Jacky67

XLDnaute Barbatruc
Bonsoir,
Une proposition en PJ
VB:
Private Sub CommandButton1_Click()
    If CommandButton1.Caption = "Filtrer" Then
        ActiveSheet.[a:b].AutoFilter Field:=2, Criteria1:="=*" & [D1] & "*"
        CommandButton1.Caption = "Enlever filtre"
    Else
        CommandButton1.Caption = "Filtrer"
        If ActiveSheet.FilterMode Then ActiveSheet.ShowAllData
    End If
End Sub
 

Pièces jointes

  • Excercice_MACRO_Filtre.xlsm
    32 KB · Affichages: 8

surchat

XLDnaute Occasionnel
Bonsoir Jacky
J'utilise la fonction "advanced filter" (j'ai excel en anglais) avec la zone de filtre en A1:B2
en B2 j'ai la formule "=+IF(B3="","",CONCAT("*",TEXT(B3,0),"*"))"

La zone d'entrée de donnée est en B3

La macro sert uniquement à lancer le filtre avancé

Andy
 

Jacky67

XLDnaute Barbatruc
Bonsoir Jacky
J'utilise la fonction "advanced filter" (j'ai excel en anglais) avec la zone de filtre en A1:B2
en B2 j'ai la formule "=+IF(B3="","",CONCAT("*",TEXT(B3,0),"*"))"

La zone d'entrée de donnée est en B3

La macro sert uniquement à lancer le filtre avancé

Andy
Re..
Ah! c'était donc
Une solution sans macro et une autre(solution) avec macro
J'ai certainement mal interprété ;)
 

Danixdb

XLDnaute Nouveau
Bonjour,

Une solution en Power query, Menu Données Actualiser tout après avoir changer le critère de la cellule $B$2, si vous tapez ECR vous aurez toutes les entrées contenant ECR
Cordialement
DanisDB
 

Pièces jointes

  • Excercice_MACRO_Filtre.xlsx
    154.7 KB · Affichages: 3

Laminedor2lalog

XLDnaute Nouveau
Bonsoir,
Une proposition en PJ
VB:
Private Sub CommandButton1_Click()
    If CommandButton1.Caption = "Filtrer" Then
        ActiveSheet.[a:b].AutoFilter Field:=2, Criteria1:="=*" & [D1] & "*"
        CommandButton1.Caption = "Enlever filtre"
    Else
        CommandButton1.Caption = "Filtrer"
        If ActiveSheet.FilterMode Then ActiveSheet.ShowAllData
    End If
End Sub
Bonsoir,
Une proposition en PJ
VB:
Private Sub CommandButton1_Click()
    If CommandButton1.Caption = "Filtrer" Then
        ActiveSheet.[a:b].AutoFilter Field:=2, Criteria1:="=*" & [D1] & "*"
        CommandButton1.Caption = "Enlever filtre"
    Else
        CommandButton1.Caption = "Filtrer"
        If ActiveSheet.FilterMode Then ActiveSheet.ShowAllData
    End If
End Sub
Un grand merci
 

Discussions similaires

Réponses
4
Affichages
351

Membres actuellement en ligne

Statistiques des forums

Discussions
311 725
Messages
2 081 941
Membres
101 848
dernier inscrit
Djigbenou