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 :

Problème recherche à plusieurs résultats et plusieurs critères


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2011
    Messages : 18
    Points : 6
    Points
    6
    Par défaut Problème recherche à plusieurs résultats et plusieurs critères
    Bonjour à tous.

    je me tourne vers vous car j'ai un énorme problème. Je désire faire une fonction recherche qui 'recherchera' dans un tableau suivant deux critères et que cette fonction 'recherche' me renvoi plusieurs valeurs car je sais d'avance que j'aurais plusieurs résultats pour mes deux critères.

    important je veux que mes deux critères soit respectés.

    merci j'ai joint un fichier pour illustrer mon problème.

    merci car là j'appelle à l'aide.

    merci a tous en avance.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre habitué Avatar de gourmand
    Homme Profil pro
    dessinateur projeteur mécanique
    Inscrit en
    Avril 2011
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : dessinateur projeteur mécanique

    Informations forums :
    Inscription : Avril 2011
    Messages : 153
    Points : 163
    Points
    163
    Par défaut
    la fonction recherchez peut trouvé une valeur suivent deux critère mais ne te ramènera que une seul possibilité.

    si non il te faudra faire une macro qui recherchera toute les possibilité par rapport a tes deux critère.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2011
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    oui c bien la ma question j'ai beau essayer de faire une macro je tourne en rond et je n'y arrive pas tu aurais pas une idée ou une macro à me proposer?

    merci de ta réponse

  4. #4
    Membre habitué Avatar de gourmand
    Homme Profil pro
    dessinateur projeteur mécanique
    Inscrit en
    Avril 2011
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : dessinateur projeteur mécanique

    Informations forums :
    Inscription : Avril 2011
    Messages : 153
    Points : 163
    Points
    163
    Par défaut
    si tu me précise un peux se que tu cherche (exemple a chaque fois qu'il y a 1 dans la colonne a et 5 dans la colonne b ou valeur dans un tableau...)

    et ou tu veux que les valeur sois affiché

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2011
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    en fait je voudrai que dans une cellule choisi au hasard par l'utilisateur, une fonction m'affiche toutes mes refs trouvées dans mon tableau suivant deux critères que l'utilisateur rentre manuellement prénom et date (cf fichier joint premier msg) genre dans la cellule (4000/4001). sans doublon ca serai génial!!

    merci encore

    redis moi si ta pas compris ce que je viens d'expliquer.

    merci encore

  6. #6
    Membre habitué Avatar de gourmand
    Homme Profil pro
    dessinateur projeteur mécanique
    Inscrit en
    Avril 2011
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : dessinateur projeteur mécanique

    Informations forums :
    Inscription : Avril 2011
    Messages : 153
    Points : 163
    Points
    163
    Par défaut
    je ne peux pas ouvrir ton fichier (j'ai excel 97)

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2011
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    prenom    ref    date
    jean       4000  16/05/2011
    jean       4000  16/05/2011
    jean       4001  16/05/2011
    voila j'aimerai une formule dans une cellule (qui je choisirai aprés) qui me renvois (4000/4001) quand je lui dis d'aller chercher 16/05/2011 dans la colonne C et jean dans la colonne A (en imaginant bien sur que j'ai un fichier avec plus de 1500 lignes)

    merci encore

  8. #8
    Membre habitué Avatar de gourmand
    Homme Profil pro
    dessinateur projeteur mécanique
    Inscrit en
    Avril 2011
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : dessinateur projeteur mécanique

    Informations forums :
    Inscription : Avril 2011
    Messages : 153
    Points : 163
    Points
    163
    Par défaut
    tu vas devoir passé par une macro (il y a bien la fonction recherchev mais elle ne te donne qu'une seul valeur)

    voici une petit macro qui résou ton problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    nomR = Range("E1").Value
    dateR = Range("E2").Value
    i = 1
    j = 1
    While Cells(i, 1).Value <> ""
        If Cells(i, 1).Value = nomR And Cells(i, 3).Value = dateR Then
            Cells(j, 6).Value = Cells(i, 2).Value
            j = j + 1
        End If
        i = i + 1
    Wend
    colonne A : nom
    colonne B : ref
    colonne C : date
    E1 : nom recherché
    E2 : date recherché
    colonne F : liste valeur trouvé

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2011
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    c'est peut être bête comme question mais ta macro je peut la rentrée dans un module et avoir des arguments avec une fonction ou sinon comment faire marcher ta macro comme ca?

    désolé mais en tout cas merci beaucoup tu m'enlève une grosse épine du pied!!


    merci!!!!!!

  10. #10
    Membre habitué Avatar de gourmand
    Homme Profil pro
    dessinateur projeteur mécanique
    Inscrit en
    Avril 2011
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : dessinateur projeteur mécanique

    Informations forums :
    Inscription : Avril 2011
    Messages : 153
    Points : 163
    Points
    163
    Par défaut
    plusieur méthode :

    ma préféré : tu créé un bouton, double clic et inser ma macro dans la foncton :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub CommandButton1_Click()
    'copier ici
    end sub
    tu créé une macro :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    sub nom_de_ta_macro
    'copier ici
    end sub
    outil/macro/macro pour l'exécuté ou alt F8

  11. #11
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2011
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    ok merci c génial mais j'avais un autre besoin également je sais pas si c'est possible mais est ce que le nom soit dans E1 et date de E2 ca soit l'utilisateur qui décide car des fois ca sera dans E(10-300) ou F(10-300) ainsi de suite je sais pas d'anvance ou ca va se trouver et j'aimerais également pourvoir spécifier ou je veu ma formule pas forcément en F.

    si tu pouvais encore m'aider pour ceci!

    merci tu serais GENIAL!!!!


    merci

  12. #12
    Membre habitué Avatar de gourmand
    Homme Profil pro
    dessinateur projeteur mécanique
    Inscrit en
    Avril 2011
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : dessinateur projeteur mécanique

    Informations forums :
    Inscription : Avril 2011
    Messages : 153
    Points : 163
    Points
    163
    Par défaut
    après il faux un point de repère, la macro va prendre la valeur dans une cellule. Donc si la valeur entré change tout le temps d'endroit, il faux une cellule ou l'on indique qu'elle est l'endroit ou est écrie le nom que l'on cherche:

    exemple la cellule E1 qui me sert a écrit le nom me servira à écrit l'emplacement du nom (V115), la macro relèvera cette information et ira cherché le nom.

    si non il faut faire une recherche sur toute la feuil ou est cacher le nom et la date (je ne pense pas pouvoir le faire vue la taille de la feuil)

  13. #13
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2011
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    ok d'accord mais comment renvoyer l'endroit ou est la cellule et je n'arrive pas à utiliser ta macro...

    merci

    car en fait c'est une recherche qu'il me faut car je ne sais pas sur quelle ligne serai le nom et la date car le fichier évolue tout le temps.

    merci

  14. #14
    Membre habitué Avatar de gourmand
    Homme Profil pro
    dessinateur projeteur mécanique
    Inscrit en
    Avril 2011
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : dessinateur projeteur mécanique

    Informations forums :
    Inscription : Avril 2011
    Messages : 153
    Points : 163
    Points
    163
    Par défaut
    c'est trés simple (a tu cherché?)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    positionNom= Range("E1").Value
    positionDate= Range("E2").Value
    nomR = Range(positionNom).Value
    dateR = Range(positionDate).Value

  15. #15
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2011
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    oui je suis d'accord avec toi mais si mes critères ne sont pas en E1 ou E2 ca ne marchera pas non?

  16. #16
    Membre habitué Avatar de gourmand
    Homme Profil pro
    dessinateur projeteur mécanique
    Inscrit en
    Avril 2011
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : dessinateur projeteur mécanique

    Informations forums :
    Inscription : Avril 2011
    Messages : 153
    Points : 163
    Points
    163
    Par défaut
    la c'est la macro qu'il faux changé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    positionNom= Range("F3").Value
    ou encore
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    positionNom= Range("II13542").Value

  17. #17
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2011
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    quelqu'un aurais une solution a mon problème sans changer tout le temps de macro

    merci d'avance

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =(INDEX(Sheet2!$J$2:$J$3000;EQUIV(1;($B$49=Sheet2!$B$2:$B$3000)*($D$13=Sheet2!$F$2:$F$3000)*(F6=Sheet2!$H$2:$H$3000);0)))*(-1)
    voila en fait j'utilise cette formule pour trouver la valeur dans la cellule recherchée suivant 3 critères. mais une fois ma valeur trouver bas il ne me prend pas la suivant qui correspond aussi à ces trois critères! c'est des chiffres je cherche à les additionner!!!

    merci de votre aide

    je vous dépose un fichier pour vous montrer un cas concret imaginer que mon fichier fait plus de 1500 lignes


    merci!!!
    Fichiers attachés Fichiers attachés

  18. #18
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2011
    Messages : 18
    Points : 6
    Points
    6
    Par défaut Problème recherche boucle
    Bonjour a tous

    je refait un post pour être plus clair

    j'ai un fichier comportant plus de 1500 lignes et une vingtaine de colonnes. Dans ce tableau je souhaite effectuer une recherche selon trois critères: voila ce que je fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =(INDEX(Sheet2!$J$2:$J$3000;EQUIV(1;($B$49=Sheet2!$B$2:$B$3000)*($D$13=Sheet2!$F$2:$F$3000)*(F6=Sheet2!$H$2:$H$3000);0)))*(-1)
    sheet2 car je cherche dans sheet 2 et je veux que mon résultats soit dans sheet1. Mais cette méthode ne me renvoi que la première valeur de ma recherche mais il se peut qu'il y est une autre valeur qui correspondent à mes trois critères, je voudrai additionner ces deux nombres c'est important!

    FAIRE une boucle peut être mais je ne sais pas faire!!

    mais il est possible que ma recherche ne corresponde qu'à une seule valeur aussi.

    car si je fais une recherche ca va me renvoyer 100 alors que je voudrais 100+100=200.

    voila ci-joint une fichier pour vous aider a comprendre!

    merci a tous par avance je n'arrive pas à m'en sortir!

    SVP aidez-moi
    Fichiers attachés Fichiers attachés

  19. #19
    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
    Bonjour
    Utilise plutôt SommeProd.

    Sur ton Fichier:
    =SOMMEPROD((A1:A200=E1)*(B1:B200=F1)*(d1:d200=G1)*C1:C200)
    Si les données sont en feuil
    =SOMMEPROD((Feuil2!A1:A200=E1)*(Feuil2!B1:B200=F1)*(Feuil2!d1:d200=G1)*Feuil2!C1:C200)
    PS: Ici, forum vba Excel
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

Discussions similaires

  1. Recherche de plusieurs résultats sur plusieurs critères
    Par Chen norris dans le forum Langage SQL
    Réponses: 2
    Dernier message: 01/08/2011, 17h18
  2. Réponses: 1
    Dernier message: 17/03/2008, 12h42
  3. [MySQL] Comment affiché un résultat avec plusieurs lignes et plusieurs champs dans un tableau
    Par Yagami_Raito dans le forum PHP & Base de données
    Réponses: 18
    Dernier message: 15/05/2007, 14h19
  4. Réponses: 7
    Dernier message: 26/10/2006, 15h13
  5. [Conception] soucis avec mon code de recherche par un ou plusieurs critères
    Par jolipepage75 dans le forum PHP & Base de données
    Réponses: 18
    Dernier message: 11/06/2006, 02h59

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