Filtre une colonne avec plusieurs criteres

Résolu/Fermé
Signaler
Messages postés
348
Date d'inscription
mardi 19 octobre 2010
Statut
Membre
Dernière intervention
15 avril 2021
-
Messages postés
348
Date d'inscription
mardi 19 octobre 2010
Statut
Membre
Dernière intervention
15 avril 2021
-
Bonjour à toutes et à tous,

Voici mon problème, j'ai une base de données de 4000 lignes
sur une feuille de classeur excel 2003.

Chaque colonne correspond à un organigramme
nom de direction, un code, les sous directions, code .....

Mon problème c'est que je ne peux pas placer mon filtre sur la première colonne car les libellés ne sont pas précis et je perds des données.

Je suis obliger de selectionner sur la colonne H une multitude de codes pour identifier une direction colonne B.

Le problème c'est qu'avec un filtre classique on ne selectionne que deux codes (critères).

Est il possible avec un code VBA de filtrer sur plusieurs critères (codes)
voire à partir d'une liste de codes sur une autre feuille.

merci d'avance

Charlyjack

1 réponse

Messages postés
16195
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 janvier 2022
1 580
Bonjour,

si j'ai bien compris, un exemple pour conserver les lignes correspondants a une table

Sub tri()
    Dim table_tri
    
    'adaptez les noms de feuille, plage de cellules
    'transfert table de codes filtre,
    Set table_tri = Worksheets("feuil2").Range("A1:A10")
    'enleve filtre precedent
    Worksheets("feuil1").Range("$A$1:$K$25").AutoFilter Field:=1
    'filtre sur une colonne: ici 5 critieres extensibles a x en fonction de la table de codes filtre
    Worksheets("feuil1").Range("A1:K25").AutoFilter Field:=1, Criteria1:=Array(CStr(table_tri(1, 1)), _
                                                                                                               CStr(table_tri(2, 1)), _
                                                                                                               CStr(table_tri(3, 1)), _
                                                                                                               CStr(table_tri(4, 1)), _
                                                                                                               CStr(table_tri(5, 1))), Operator:=xlFilterValues
End Sub


A+
2
Messages postés
348
Date d'inscription
mardi 19 octobre 2010
Statut
Membre
Dernière intervention
15 avril 2021
1
Bonjour et merci
tu as parfaitement compris ça marche du feu de dieu.
je reste admiratif de cette maitrise de VBA,
J'ai beau acheter des livres et manger du code sur internet,
je n'arrive pas à construire.

Encore merci

Charlyjack
0
Messages postés
348
Date d'inscription
mardi 19 octobre 2010
Statut
Membre
Dernière intervention
15 avril 2021
1
Désolé de déranger à nouveau,
mais autant ça marche bien sur 2007,
autant sur 2003 ça bloque,
Aurais tu une idée ?

merci
0