IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Filtre a critère multiple


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2010
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2010
    Messages : 229
    Points : 168
    Points
    168
    Par défaut Filtre a critère multiple
    Bonjour,

    Je me trouve de nouveau confronté à un problème...

    J'ai sur ma feuille("code") une liste de produits ( qui change tout le temps) , j'aimerai basé mon filtre sur ces produits.

    Je m'explique
    J'ai dans une colonne le nom des produits que je veux filtrer sur ma base de données. ---> feuille("database")

    Le problème c'est que cette liste varie,

    Ma question: quel code faut il écrire pour parvenir à filtrer cette liste de produit, peut importe la longueur de cette liste ( elle n'excède pas 20 éléments)

    Merci pour votre aide

    Cordialement
    DoDo

  2. #2
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Une proposition (Excel 2007)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim LastLig As Long
    Dim Tb
     
    Application.ScreenUpdating = False
    Tb = Worksheets("code").Range("A1:A20")          'zone de critères
    With Worksheets("database")
        .AutoFilterMode = False
        LastLig = .Cells(.Rows.Count, "A").End(xlUp).Row
        .Range("A1:A" & LastLig).AutoFilter Field:=1, Criteria1:=Application.Transpose(Tb), Operator:=xlFilterValues
    End With
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  3. #3
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2010
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2010
    Messages : 229
    Points : 168
    Points
    168
    Par défaut
    Merci mercatog,

    ca marche parfaitement bien,
    Quelqu'un pourrait m'expliquer comment marche ce critère ?

    Merci
    Cdlt
    DoDo

  4. #4
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2010
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2010
    Messages : 229
    Points : 168
    Points
    168
    Par défaut
    J'ai des critère qui ont changé pour ma question...


    Ce n'est plus simplement un filtre au niveau de la base de données mais au niveau d'un TCD.

    Ma question est la même :

    J'ai sur ma feuille("code") une liste de produits que je veux filtrer sur mon tableau croisé dynamique. ---> feuille("PIVOT for Summury")

    Le problème c'est que cette liste varie,

    Ma question: quel code faut il écrire pour parvenir à filtrer cette liste de produit, peut importe la longueur de cette liste ( elle n'excède pas 20 éléments)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Tb = Worksheets("code").Range("J3:J40")          'zone de critères
     
    With Worksheets("PIVOT for Summury")
        .PivotTables("PivotTable2").PivotFields("dbo_t_BUSINESS_LINE_Name").ClearAllFilters
       .PivotTables("PivotTable2").PivotFields("dbo_t_BUSINESS_LINE_Name").CurrentPage = Application.Transpose(Tb)
    End With
    Ce code ne filtre qu'un seul élément de ma liste
    Merci de me venir en aide .

    DoDo

Discussions similaires

  1. Critères multiples pour création de tables
    Par tissyseb dans le forum Modélisation
    Réponses: 1
    Dernier message: 31/10/2007, 10h40
  2. Filtrage à critère multiple (aide sur la syntaxe)
    Par Amiral19 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 25/06/2007, 11h13
  3. [VBA-E] - Statistiques à critères multiples
    Par nkhalidy dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/03/2007, 14h46
  4. Filtre multi-critères dans une base Paradox
    Par lohot dans le forum Bases de données
    Réponses: 10
    Dernier message: 10/02/2007, 22h54
  5. Filtre multi-critères
    Par lohot dans le forum Bases de données
    Réponses: 2
    Dernier message: 01/02/2007, 13h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo