Filtre multicritère d'une colonne via des toggles bottons

Bonjour,

Je suis débutant en VBA et je dois réaliser pour mon travail un reporting qui permet de filtrer un tableau via des toggles buttons.

Je souhaite que lorsque qu'un toggle button est actionné seul les données avec ce critère reste mais je souhaite pouvoir actionner plusieurs toggles buttons en même temps sur une colonne. Si aucun n'est actionné toutes les données sont présentes.

J'arrive à filtrer sur une même colonne avec un critère lorsque j'actionne un des boutons il filtre seulement ses données mais lorsque j'actionne un second bouton sur la même colonne il re-filtre et affiche seulement les données du second critère.

J'ai joint une partie de mon fichier pour que vous compreniez ma demande.

Merci d'avance pour votre aide !!

Bonjour,

Pourquoi réinventer ce qui existe déjà : Intéresse toi aux segments !

Comme ton fichier comporte des liens morts je ne peux malheureusement pas compléter les segment existants mais peut-être arrivera tu à les reconstituer quand les liens seront rétablis.

Les segments s'ajoutent à partir de l'onglet tableau...

Les multicritères sont activé à partir du premier bouton de chaque segment.

A+

Bonjour,

Je ne vois pas ton code.

Bonjour,

Merci de vos réponses si rapide !

Galopin01: Sauf erreur de ma part les segments ne permette pas de filtrer sur deux critères à la fois sur la même colonne (exemple: pour la colonne 5 j'ai 3 données différentes, si je veux filtrer sur GS & LD comment je fais?)

Bonjour,

Je ne vois pas ton code.

Effectivement, mon code ne fonctionnant pas du tout j'ai préféré ne pas le supprimer pour pas qu'ils vous induisent sur une fausse piste.

Bonjour,

Peux-tu joindre un fichier fonctionnel ?

Cdlt

Bonjour,

Peux-tu joindre un fichier fonctionnel ?

Cdlt

Oui désolé, normalement j'ai enlevé les liaisons.

Bonjour,

Une proposition à étudier.

Cdlt.

Bonjour,

Une proposition à étudier.

Cdlt.

Exemple Filtre Multi.xlsm

Merci d'avoir regardé, mais pourrais-je avoir quelque explication car à par les segments que je connais (et qui ne me donne pas ce que je souhaite car je ne peux pas sélectionner par exemple dans "CANAL" "COCO" + "CODO") je ne vois pas ou ne comprend pas l'action de ton code ou son fonctionnement.

Merci d'avance!

Re,

Le fichier avec des informations pour aider à la compréhension.

Sinon, les segments permettent une sélection multiple, mais attention aux filtres existants.

Cdlt.

Re, Salut Galopin, Jean-Eric!

pour pas qu'ils vous induisent sur une fausse piste.

Tu supposes à tort qu'on se laisserait conduire sur de fausses pistes !

Re,

Filtrage avec tes Toggle pour me mettre en forme (pas encore bu mon 2e café !).

Note que tes spécifications impliquent que tous les boutons soient enfoncés pour que le tableau soit entièrement affiché...

Sub Filtrer()
    Dim Canal, Corresp, Equipé, tgb As OLEObject
    For Each tgb In Me.OLEObjects
        If tgb.Object.Value Then
            If tgb.Name Like "tgbCanal*" Then
                Canal = Canal & IIf(Canal <> "", ";", "") & tgb.Object.Caption
            ElseIf tgb.Name Like "tgbCorresp*" Then
                Corresp = Corresp & IIf(Corresp <> "", ";", "") & tgb.Object.Caption
            ElseIf tgb.Name Like "tgbEquipé*" Then
                Equipé = Equipé & IIf(Equipé <> "", ";", "") & tgb.Object.Caption
            End If
        End If
    Next tgb
    With Me.ListObjects(1).Range
        If Canal <> "" Then .AutoFilter 3, Split(Canal, ";"), xlFilterValues Else _
         .AutoFilter 3, "="
        If Equipé <> "" Then .AutoFilter 4, Split(Equipé, ";"), xlFilterValues Else _
         .AutoFilter 4, "="
        If Corresp <> "" Then .AutoFilter 5, Split(Corresp, ";"), xlFilterValues Else _
         .AutoFilter 5, "="
    End With
End Sub

Cordialement.

Merci beaucoup pour votre travail c'est totalement ce que je souhaitais (sauf le problème qu'il faut tous les boutons d'actionné mais bref ce n'est qu'un détail).

Bon courage pour la suite, et merci encore !

Si tu veux l'inverse, il suffit d'inverser le test sur la valeur :

        If Not tgb.Object.Value Then

Cordialement.

Rechercher des sujets similaires à "filtre multicritere colonne via toggles bottons"