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 :

Filtrage à critère multiple (aide sur la syntaxe)


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juin 2007
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 55
    Points : 27
    Points
    27
    Par défaut Filtrage à critère multiple (aide sur la syntaxe)
    Bonjour Bonjour !

    J'ai une base de données, et je veux filtrer les lignes sur différents critères.
    L'un d'entre eux est que l'âge doit être compris entre deux valeurs qui se trouvent sur une autre feuille.
    Malheureusement, je maîtrise très mal la syntaxe VBA.

    J'ai donc deux questions :

    Comment puis-je résoudre le problème présent (ci dessous ce que j'ai fait) ?
    Comment chercher efficacement les syntaxes pour ce genre d'affaires
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    'Age
        Sheets("TabInterméd").Select
        If Range("C47") Then
        'Définition du critère
            Sheets("TabTot").Range("V3").Formula = "=ET(>=TabInterméd!D48;<=TabInterméd!D47)"
        'Application du filtre
            Sheets("TabTot").Select
            [U2:U10000].AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("U2:U3")
        End If
    Merci si vous pouvez m'aider !

  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 543
    Points
    15 543
    Par défaut
    Déjà, si tu mets ta formule en français, ce n'est pas formula mais formulalocal
    Ensuite... Eh bien ensuite
    Sheets("TabTot").Range("V3").Formula = "=ET(>=TabInterméd!D48;<=TabInterméd!D47)"
    Que comptes-tu obtenir ?
    A+

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juin 2007
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 55
    Points : 27
    Points
    27
    Par défaut
    hé oui, çà ne veut rien dire n'est-ce pas ?

    Et bien j'aimerais trouver la manière d'écrire dans une seulme case le critère qui se dit en français "compris entre la valeur de D48 et celle de D47".

    J'ajouterais quune de mes contraintes, c'est que la solution consistant à ajouter une copie de la colonne "âge" n'est pas pratique, puisque ce tableau est rempli par une autre macro et qu'il me faudrait alors aller changer toutes les références dans cette macro.

    Merci de ton coup de main en tous cas !

  4. #4
    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 543
    Points
    15 543
    Par défaut
    Ok, mais il faut une valeur de référence qui ne peut pas être l'adresse de la cellule elle-même.
    A la limite, tu pourrais écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(ET(B1>=A1;B1<=C1);VRAI;FAUX)
    et tu aurais un truc comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     A	 B	 C	 D
    15	25	30	VRAI
    Tu pourrais également remplacer B1 par une valeur ou le nom d'une cellule, mais faire référence à D1 qui contient la formule, non.
    A+

  5. #5
    Nouveau membre du Club
    Inscrit en
    Juin 2007
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 55
    Points : 27
    Points
    27
    Par défaut
    Merci,

    Je ne suis pas venu du WE, parce que c'est un projet pour le boulot, alors je te prie de m'excuser de n'avoir pas répondu de suite.
    Mais si j'utilise cette solution, il faut bien que je rajoute aussi une colonne "vroi ou faux" pour pouvoir ensuite filtrer par rapport à cette colonne n'est-ce pas ?
    Je vais voir si çà peutle faure pour toutes mes colonnes, mais il y en a notamment une série ou çà va être plus coton, puisque je dois trouver les lignes qui possèdent "tel_mot" dans l'une des colonnes d'une déri de quatre.
    Je regarde ce que çà onne et vous donne les résultat de mes réfléxions... sil elles aboutissent.
    S'il y a d'autres idées, notamment pour écrire dans la zone de critères pour mon filtre avancé quelquechose qui veut dire "compris entre X34 et Y26"

    Merci !

    Amiral

  6. #6
    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 543
    Points
    15 543
    Par défaut
    Code Amiral19 : Sélectionner tout - Visualiser dans une fenêtre à part
    Mais si j'utilise cette solution, il faut bien que je rajoute aussi une colonne "vroi ou faux" pour pouvoir ensuite filtrer par rapport à cette colonne n'est-ce pas ?
    Oui, en effet, il te faut une colonne Oui/Non...
    Pour la recherche d'un mot dans quatre colonnes, tu as plusieurs solutions. Regarde à "Cherche", dans l'aide Excel ou "Find" dans l'aide VBA.
    A+

  7. #7
    Nouveau membre du Club
    Inscrit en
    Juin 2007
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 55
    Points : 27
    Points
    27
    Par défaut
    Merci du temps que tu passes à me répondre !

    Pour cette histoire de colonne à ajouter, c'est quand même gênant pour mon applivation.
    En fait ce que je cherche à faire, c'est de créer une filtre qui fasse exactement la même chose qu'un filtre automatique réglé sur "personnalisé", avec "supérieur à " ET "inférieur à". Je suis désolé si je parais un peu têtu, mais n'y a-t-il pas une façon de taper le critère dont j'ai besoin dans la zone de critère ?


    Remarque : Je ne le fais pas par filtre auto, parce que je me suis dit qu'avec la bonne syntaxe, ce serait plus facile à ecrire dans VBA avec un filtre avancé.

    En plus, comme je vais avoir des filtres plus compliqués à mettre en place,çà m'aurait permis de me mettre dans le bain.

    A bientôt ?
    Amiral

  8. #8
    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 543
    Points
    15 543
    Par défaut
    Regarde , des fois que ça te donne des idées
    A+

  9. #9
    Nouveau membre du Club
    Inscrit en
    Juin 2007
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 55
    Points : 27
    Points
    27
    Par défaut
    Merci du piston !

    Cà me rappelle quelque chose, j'ai du passer sur cette page la semaine dernière. Cela me confirme dans l'idée qu'il doit y avoir une syntaxe pour faire ce que je veux, mais je ne peux malheureusement pas appliquer cette fonction pour mon application, ou en tous cas je ne vois pas comment.

    Je cherche encore une solution de remplacement, et si je trouve, je vous tiens au courant.

Discussions similaires

  1. demande d'aide sur la syntaxe
    Par ivigu dans le forum Général Python
    Réponses: 4
    Dernier message: 14/06/2011, 09h32
  2. Aide sur un filtrage multiple
    Par mead_Developper dans le forum Bases de données
    Réponses: 1
    Dernier message: 28/11/2010, 07h51
  3. [XSLT] aide sur la syntaxe xsl, debutant
    Par prugne dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 17/09/2010, 11h25
  4. Besoin d'aide sur une syntaxe
    Par arnolem dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 23/08/2006, 12h38
  5. Aide sur syntaxe VB
    Par Daniel MOREAU dans le forum Access
    Réponses: 3
    Dernier message: 29/11/2005, 17h47

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