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 :

Recherche multicritères dans feuille


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juillet 2004
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 218
    Par défaut Recherche multicritères dans feuille
    Bonjour,

    J'ai une feuille dans laquelle se trouve des informations

    col1	col2 	col3	col4
    aaa	2008	test	123
    aaa	2009	machin	234
    aaa	2008	machin	456
    bbb	2010	truc	123
    bbb	2008	test	246
    J'aimerai savoir comment faire en vba pour récupérer la valeur de la colonne col4 en utilisant comme critère de recherche les colonnes col1, col2 et col3 ?

    Si vous avez un exemple merci bcp pour votre aide.
    stujava

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    Ci dessous une méthode en utilisant l'instruction Evaluate et la formule Sommeprod (SumProduct en Anglais)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim Critere1 As String
    Dim Critere2 As String
    Dim Critere3 As String
     
    Critere1 = "aaa"
    Critere2 = "2008"
    Critere3 = "TEST"
     
    MsgBox Evaluate("=SumProduct((feuil2!A1:A10=""" & Critere1 & """)*(feuil2!B1:B10=" & Critere2 & " )*(feuil2!C1:C10=""" & Critere3 & """),feuil2!D1:D10)")

  3. #3
    Membre éclairé
    Inscrit en
    Juillet 2004
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 218
    Par défaut
    Merci beaucoup JFontaine,

    J'ai beau essayé la formule mais j'ai une erreur 2015 et je ne sais pas trop où chercher, quelqu'un aurait-il une idée ?

  4. #4
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    sur quelle ligne l'erreur?
    quel est le descriptif de cette erreur ?

  5. #5
    Membre éclairé
    Inscrit en
    Juillet 2004
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 218
    Par défaut
    Voici le code adapté :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    With Sheets("sheet1")
            Dim Critere1 As String
            Dim Critere2 As String
            Dim Critere3 As String
     
            Critere1 = "National total for the entire territory"
            Critere2 = "NATIONAL TOTAL"
            Critere3 = "NMVOC"
            Debug.Print (Evaluate("=SumProduct((F1:F10='" & Critere1 & "')*(E1:E10='" & Critere2 & "')*(B1:B10='" & Critere3 & "'),H1:H10)"))
     
     
        End With
    l'erreur se produit sur le Debug.Print et je n'ai pas de description.

    J'ai modifier la ligne du Debug.Print avec ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Debug.Print (Evaluate("=SumProduct((F1:F10=""" & Critere1 & """)*(E1:E10=""" & Critere2 & """)*(B1:B10=""" & Critere3 & """),H1:H10)"))
    mais la valeur retournée est 0 alors que je devrai avoir 0.72957749000000005
    Serait-ce un souci de format de retour ?

  6. #6
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Dans ma proposition le critere2 ne comporte pas de guillemets car numérique. Tu as modifier en alphanumérique. est ce bien du format texte dans ta colonne?

    EDIT : désolé, pas vu que critere 2 est maintenant alpha

    mais la valeur retournée est 0 alors que je devrai avoir 0.72957749000000005
    Serait-ce un souci de format de retour ?
    Je ne pense pas, mais essais en mettant le résultat dans une cellule

Discussions similaires

  1. recherche chart dans feuille
    Par pinocchio dans le forum Excel
    Réponses: 1
    Dernier message: 22/10/2009, 08h45
  2. [A-03] recherche multicritère dans un formulaire
    Par caro2552 dans le forum IHM
    Réponses: 5
    Dernier message: 26/10/2008, 13h35
  3. Recherche date dans feuille
    Par zeralium dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 24/09/2008, 23h05
  4. Réponses: 2
    Dernier message: 03/07/2008, 11h36
  5. Recherche multicritères dans une seule fonction ?
    Par ilouma dans le forum Pascal
    Réponses: 13
    Dernier message: 06/05/2007, 22h19

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