Recherche suivant 2 criteres

Résolu
juju -  
 juju -
Bonjour,

Alors voilà, je ne post jamais sur les forums car en général je trouve la solution grâce aux autres post !
Mais là, je n'y arrive pas. J'espère que vous pourrez m'aider...

J'ai un tableau excel avec 3 colonnes
B C D
Ref Finitions prix

Il peut y avoir plusieurs fois la même ref avec des finitions différentes.
XXX rouge 110
XXX bleu 115

Ect ...
J'ai un autre tableau (sur une autre page)
Qui reprend
1 A B C
2 Ref rouge bleu
3 XXX ?prix ?prix

Voilà d'après la référence et la finition il faut que je retrouve le prix et je voudrais que ce soit automatique.

Alors j'ai essayé (dans mon premier tableau sur le côté) une recherche INDEX+EQUIV ! Qui fonctionne ! J'étais contente.

=INDEX(D3:D40;EQUIV(1;(C3:C40=G5)*(B3:B40=E6);0))
G5 correspondant à ma finition Et E6 à ma ref tout ça validé par Control Atl Entrée

Mais voilà, je vais pour refaire la même dans mon vrai tableau (sur une autre page donc) et là #N/A# (en allant les chercheer dans le tableau d'origine)
voilà je ne sais pas ce que je fais de mal.
Est ce que ça devrait marcher même en étant sur une autre page ?
Ou faut il que je trouve une autre fonction ?

Voilà, merci d'avance pour votre aide j'espère que je suis clair.
Juju

11 réponses

  1. Le Pingou Messages postés 12275 Date d'inscription   Statut Contributeur Dernière intervention   1 478
     
    Bonjour,
    Essayez cette formule :
    =SI(ESTNA(INDEX(prix;EQUIV(1;(finition=C3)*(Référence=A5);0)))=FAUX;INDEX(prix;EQUIV(1;(finition=C3)*( Référence=A5);0));"")
    1
  2. Le Pingou Messages postés 12275 Date d'inscription   Statut Contributeur Dernière intervention   1 478
     
    Bonjour,
    Je suppose que les données [D3 :D40]....etc. sont dans le même classeur mais dans une autre feuille (exp : Feuil1) que la formule (exp : Feuil2).
    Proposition : nommer les 3 plages et utiliser ces noms dans la formule, exemple
    {=INDEX(plageD;EQUIV(1;(plageC=Feuil1!G5)*(plageB=Feuil1!E6);0))}


    Note : Si la fonction EQUIV ne trouve pas de valeur équivalente, elle renvoie la valeur d'erreur #N/A

    Salutations.
    Le Pingou
    0
    1. juju
       
      Bonjour,
      Meric pour votre réponse très rapide.
      Non ce sont 2 classeurs différents.
      Je vais essayer quand même de nommer les plages.
      Merci
      0
    2. juju
       
      J'ai donc une formule qui ressemble à ça et toujours le même erreur :
      =INDEX(1erclasseur!prix;EQUIV(1;(1erclasseur!finition=C3)*(1erclasseur!Référence=A5);0))

      J'ai bien fait Controle alt entrée pour validé.

      une autre idée ????

      Merci d'avance
      0
    3. juju
       
      J'ai tenté ça :

      =INDEX(1erclasseur!prix;EQUIV(1;(C3=1erclasseur!finition)*(A5=1erclasseur!Référence);3))

      Alors il me trouve pas le bon prix, mais il me trouve un prix !
      Où est l'erreur ??

      Merci d'avance
      0
  3. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Salut,

    Peut être ce genre de formule à tester sur le fichier joint et on en reparle

    https://www.cjoint.com/?hAoX6CECmA
    0
  4. Le Pingou Messages postés 12275 Date d'inscription   Statut Contributeur Dernière intervention   1 478
     
    Bonjour,
    Contrôler le résultat de la fonction EQUIV, car Si elle ne trouve pas de valeur équivalente, elle renvoie la valeur d'erreur #N/A
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. juju
     
    Le pingou : oui il y a bien un résultat pour ma recherche.

    Mike-31 : Merci : Je suis en train de regarder, pourquoi est on obligé de ramener les colonnes prix et finition dans le deuxième tableau ??
    0
  7. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    Si j'ai bien compris, tu as plusieurs références identiques, et pour une référence si tu as plusieurs fois la même couleur exemple pour x ou le rouge sort deux fois et pour xx le bleu deux fois, il faut relancer une recherche à partir d'un résultat.
    Par contre pour chaque référence identique, si tu n'as qu'une seule couleur il est possible de traiter directement

    Confirme nous le et je reconsidère le fichier
    0
  8. juju
     
    Non, j'ai plusieurs fois la même référence avec plusieurs couleurs
    x rouge
    x bleu
    x jaune
    XX rouge
    XX bleu
    XX jaune
    Mais jamais 2 fois la même couleur.
    0
  9. juju
     
    Merci pour la réponse, ce serait génial : le probléme (comme tu l'as évoqué dans le fichier joint) c'est que mes tableaux (où je récupère les prix) sont mis en forme et reste tel quel, donc ça veut dire une formule plus longue avec des conditions.

    Sinon j'ai trouvé ça qui fonctionne apparement :

    =INDEX(matrice;SOMMEPROD((reference=E6)*(finition=G5)*LIGNE(prix)); 3)

    Je pense que je vais garder celle-ci mais il faut que je l'améliore car Le hic : c'est quand une référence n'a pas la finition concernée elle me met une valeur erronée.
    Comment peut on corriger ça ?
    Et qu'elle ne remplisse pas la case si le référence n'existe pas dans la finition ?

    d'autres idées ??

    Merci d'avance
    juju
    0
  10. Le Pingou Messages postés 12275 Date d'inscription   Statut Contributeur Dernière intervention   1 478
     
    Bonjour,
    Il serait peut-être plus simple si vous mettez le fichier sur https://www.cjoint.com/ et poster le lein.
    0
  11. juju
     
    Bonjour,

    Je viens d'essayer ce matin : c'est excatement ça qu'il me fallait !!! MERCI BEAUCOUP à tous pour votre aide !!!
    à bientôt
    juju
    0