Filtre une colonne avec plusieurs criteres [Résolu/Fermé]

Signaler
Messages postés
340
Date d'inscription
mardi 19 octobre 2010
Statut
Membre
Dernière intervention
4 septembre 2020
-
Messages postés
340
Date d'inscription
mardi 19 octobre 2010
Statut
Membre
Dernière intervention
4 septembre 2020
-
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
15370
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
13 octobre 2020
1 376
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci

Messages postés
340
Date d'inscription
mardi 19 octobre 2010
Statut
Membre
Dernière intervention
4 septembre 2020
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
Messages postés
340
Date d'inscription
mardi 19 octobre 2010
Statut
Membre
Dernière intervention
4 septembre 2020
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