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 avec plusieurs critères [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Inscrit en
    Février 2007
    Messages
    118
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 118
    Points : 74
    Points
    74
    Par défaut Filtre avec plusieurs critères
    Bonjour à tous,

    Après de longues et vaines recherches, je m'en remets à vos connaissance...

    Je voudrais bien programmer en VBA un filtre sur une colonne mais avec plusieurs critères... 2 ou 3 par exemple...

    J'ai déjà essayé en concaténant plusieurs variables textes, mais ça foire...

    Donc, si quelqu'un pouvait m'éclairer...

  2. #2
    Membre averti Avatar de delphine35
    Femme Profil pro
    Analyste BO
    Inscrit en
    Novembre 2009
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste BO

    Informations forums :
    Inscription : Novembre 2009
    Messages : 265
    Points : 377
    Points
    377
    Par défaut
    tu as essayé avec AdvancedFilter ?

    Un truc dans le style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        ActiveSheet.Range("$A$1:$D$15").AutoFilter Field:=2, Criteria1:=Array("12", _
            "25", "63"), Operator:=xlFilterValues
    Pensez au "enregistrer une macro"
    Delphine35
    « N’attribuez jamais à la malveillance ce qui s’explique très bien par l’incompétence. » - Napoléon Bonaparte

  3. #3
    Membre régulier
    Inscrit en
    Février 2007
    Messages
    118
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 118
    Points : 74
    Points
    74
    Par défaut
    Déjà merci pour ton aide, mais...

    Avec Advanced filter, je ne vois pas comment faire...

    J'étais parti avec ta solution, mais le problème est de programmer ce qu'il y a dans le Array... en sachant que le nombre et la valeur des critères est variable, bien sûr...

    Sinon, ce serait trop simple...

  4. #4
    Membre averti Avatar de delphine35
    Femme Profil pro
    Analyste BO
    Inscrit en
    Novembre 2009
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste BO

    Informations forums :
    Inscription : Novembre 2009
    Messages : 265
    Points : 377
    Points
    377
    Par défaut
    Donne nous plus de details !! Qu'est ce que tu veux faire ... exactement
    Delphine35
    « N’attribuez jamais à la malveillance ce qui s’explique très bien par l’incompétence. » - Napoléon Bonaparte

  5. #5
    Membre régulier
    Inscrit en
    Février 2007
    Messages
    118
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 118
    Points : 74
    Points
    74
    Par défaut
    Pour reprendre ton exemple, je dois filtrer un tableau comme le tien...
    Mais ce filtre est inclus dans une macro qui fait un tas choses avant et après ce fameux filtre...
    Comme je disais plus haut, le nombre et la valeur des critères ne sont pas connus au départ...
    C'est l'utilisateur qui les choisit dans une Listbox...
    Me suis-je fais comprendre ?

  6. #6
    Membre averti Avatar de delphine35
    Femme Profil pro
    Analyste BO
    Inscrit en
    Novembre 2009
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste BO

    Informations forums :
    Inscription : Novembre 2009
    Messages : 265
    Points : 377
    Points
    377
    Par défaut
    Voili, voilu ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
     
    Dim tableau(1 To 100) As Variant
     
    nb = UserForm1.ListBox1.ListCount
     
    j = 1
    For i = 0 To nb - 1
     
    If UserForm1.ListBox1.Selected(i) Then
       tableau(j) = UserForm1.ListBox1.List(i)
       j = j + 1
    End If
    Next i
     
    Worksheets(1).Range("$A$1:$D$15").AutoFilter Field:=2, Criteria1:=tableau, Operator:=xlFilterValues
    Delphine35
    « N’attribuez jamais à la malveillance ce qui s’explique très bien par l’incompétence. » - Napoléon Bonaparte

  7. #7
    Membre régulier
    Inscrit en
    Février 2007
    Messages
    118
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 118
    Points : 74
    Points
    74
    Par défaut
    Ca marche....

    Merci beaucoup, Delphine35... Si je pouvais, je t'embrasserais...

    Tu m'ôtes une fameuse épine hors du pied...

    Encore merci...

  8. #8
    Membre à l'essai
    Inscrit en
    Juin 2010
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 30
    Points : 20
    Points
    20
    Par défaut Merci
    Merci beaucoup Delphine, cela fait pas mal de temps que je cherche moi aussi!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Filtre auto avec plusieurs critères variables
    Par Christo89 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 22/12/2013, 17h12
  2. [XL-2010] Filtre avec plusieurs critères
    Par sims92.66 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 18/10/2012, 19h09
  3. [VBA Excel] Filtre sur plusieurs critères
    Par tazmania dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/12/2006, 11h12
  4. [VBA-E]filtre sur plusieurs Critères avec Excel
    Par Diablo_22 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 29/05/2006, 20h34

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