Filtre une colonne avec plusieurs criteres

Résolu/Fermé
CHARLYJACK Messages postés 353 Date d'inscription mardi 19 octobre 2010 Statut Membre Dernière intervention 16 mai 2023 - 6 juil. 2013 à 22:40
CHARLYJACK Messages postés 353 Date d'inscription mardi 19 octobre 2010 Statut Membre Dernière intervention 16 mai 2023 - 9 juil. 2013 à 21:10
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
A voir également:

1 réponse

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
7 juil. 2013 à 11:18
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
CHARLYJACK Messages postés 353 Date d'inscription mardi 19 octobre 2010 Statut Membre Dernière intervention 16 mai 2023 1
8 juil. 2013 à 22:10
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
CHARLYJACK Messages postés 353 Date d'inscription mardi 19 octobre 2010 Statut Membre Dernière intervention 16 mai 2023 1
9 juil. 2013 à 21:10
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