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 élaboré avec une plage critere differente


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 15
    Points : 11
    Points
    11
    Par défaut filtre élaboré avec une plage critere differente
    Bonjour
    je viens de découvrir le filtre élaboré, trop cool, bon j'ai quand meme un p'tit souci .
    Feuille1=les données sur X colonnes et nb de lignes infinis (65000)
    Feuille2=
    un Btn pour lancer la macro enregistrée
    les critères 6 champs avec étiquettes sont à renseigner
    donc ma plage de critere est: (range.("C6:H7"))
    seulement si il y a qu'une seule ligne de criteres, mais je voudrais pouvoir avoir
    plusieurs lignes de critères.
    comment definir H7 si j'ai 3 lignes de criteres donc H9
    ou alors il faut definir toute la plage du critere a chaque excution de macro


    Merci d'avance

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Si le test de ton filtre doit comporter plusieurs lignes, je ne vois pas comment tu peux utiliser un filtre.
    Par contre, tu peux utiliser Find pour trouver le premier critère, et à partir de là vérifier les suivants.

    Une remarque : Il y a contradiction entre ces deux phrases
    Celle-ci implique deux lignes
    les critères 6 champs avec étiquettes sont à renseigner
    donc ma plage de critere est: (range.("C6:H7"))
    La suivante implique trois lignes
    comment definir H7 si j'ai 3 lignes de criteres donc H9
    ou alors il faut definir toute la plage du critere a chaque excution de macro
    Ce que j'ai compris ? Que ta plage de critères est "C6:H7" pris dans Feuille1 => 12 critères contigus
    Que tu cherches une plage contenant ces 12 critères... Et là je suis dans le flou quand à la disposition de ces 12 critères (les 3 lignes me gènent...)
    Tu nous expliques ?
    A+

    Dis-nous-tout

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 15
    Points : 11
    Points
    11
    Par défaut filtre elabore
    bon je commente

    ligne etiquette......\reference\NLOT \ Date \indice1 \indice2 \N°Point\
    ligne critere1............234.........P2343..9/01/09..2,34......8,35.......A
    ligne critere2............234.........P2343..9/01/09..2,34......8,35.......B
    ligne critere3............234.........P2343..9/01/09..2,34......8,35.......B1

    les champs numériques fonctionnent aussi avec les opérateurs <>et =
    et si je veut tout les Point B je met B*
    est-ce plus claire?

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 15
    Points : 11
    Points
    11
    Par défaut filtre elaboré en vba
    bonjour
    j'ai ecrit cela mais je voudrais que la plage de CriteriaRange soit variable en H8
    cela pourrait etre H7 ou H8 ou H9.
    bref suis en galere merci d'avance

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub trie()
     
    Dim moncritere As Variant
        Range("C6").Select
        Range(Selection, Selection.End(xlDown)).Select
        Range(Selection, Selection.End(xlToRight)).Select
    'ActiveWorkbook.Names.Add Name:="moncritere", RefersToR1C1:="=Feuil2!R6C3:R9C8"
         Sheets("Feuil1").Select
     
        Range("A1:R3910").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
        Sheets("Feuil2").Range("C6:H8"), Unique:=False
    'Range("A1:R3910").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
        'moncritere, Unique:=False
    End Sub

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 15
    Points : 11
    Points
    11
    Par défaut Solution intermediaire
    bonjour
    j'ai trouvé une solution peut etre pas la meilleur mais camarche
    indice = nb de valeur +6 car je rentre mes criteres en c7

    merci de votre participation
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    Sub Macro1()
     
     
    Dim indice As Integer
    indice = Range("J6")
    Select Case indice
        Case 7:
            Sheets("Feuil1").Select
            Range("A1:R30000").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
            Sheets("Feuil2").Range("C6:H7"), Unique:=False
        Case 8:
            Sheets("Feuil1").Select
            Range("A1:R30000").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
            Sheets("Feuil2").Range("C6:H8"), Unique:=False
        Case 9:
            Sheets("Feuil1").Select
            Range("A1:R30000").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
            Sheets("Feuil2").Range("C6:H9"), Unique:=False
        Case Else
        Exit Sub
     
    End Select
     
    End Sub

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

Discussions similaires

  1. Filtre élaboré avec une sélection copié en vba
    Par Sherman750 dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 31/10/2012, 18h06
  2. Remplir une ComboBox avec une plage de cellule
    Par zazaraignée dans le forum Contribuez
    Réponses: 2
    Dernier message: 02/03/2012, 18h07
  3. [XL-2007] faire un filtre élaboré avec 2 criteres sur la meme colonne
    Par sebing dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 08/02/2011, 12h35
  4. Réponses: 2
    Dernier message: 24/07/2007, 17h53
  5. Créer un graph avec une plage de donnée variable
    Par nono le golfeur dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/06/2007, 17h15

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