RechercheH récalcitrante

Résolu
Utilisateur anonyme -  
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour à tous,
je suis sur un petit tableau, et je souhaite afficher le n° de correspondance à un statut.
j'exécute la fonction RechercheH mais elle me renvoie une réponse qui est fausse.
je joins mon fichier pour être plus claire.
Le lien a été créé: https://www.cjoint.com/c/EEwgZEd2Rc3
Merci d'avance

4 réponses

  1. Ayuritenshi Messages postés 299 Statut Membre 53
     
    Salut alors j'ai fait un truc peut être que c'est pas ce que tu voulais obtenir mais j'ai essayé ;)
    https://www.cjoint.com/c/EEwiweYQIza

    Dis moi ce que tu en pense :)
    Au fait tu peux rajouter autant de lignes que tu veux et tu peux faire une recherche partiel sur les autres critères.
    A+
    0
    1. Ayuritenshi Messages postés 299 Statut Membre 53
       
      je me suis louper j'ai pas mis le bon lien (désolé)
      http://www.cjoint.com/confirm.php?cjoint=EEwiKG2hyPW
      voilà A+
      0
      1. Utilisateur anonyme > Ayuritenshi Messages postés 299 Statut Membre
         
        Bonjour et merci,
        le second lien ne fonctionne pas.
        et si je comprends bien, tu as utilisé les filtres avancés, mais ce n'est pas vraiment ce que je recherche
        0
    2. Ayuritenshi Messages postés 299 Statut Membre 53
       
      dans une macro c'est ca
      0
  2. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Bonjour

    vous ne pas utiliser RECHERCHEH pour ressortir une valeur qui se trouve au dessus de la ligne contenant la valeur de référence, car ce code cherche toujours dans la première ligne du champ indiqué. utilisez:
    =INDEX(A2:H2;EQUIV(B13;A3:H3;0))
    et pour éviter un affichage d'erreur quand B13 est vide:
    =SIERREUR(INDEX(A2:H2;EQUIV(B13;A3:H3;0));"")

    crdlmnt

    Errare humanum est, perseverare diabolicum
    0
    1. Utilisateur anonyme
       
      Merci pour votre réponse, le souci c'est que cette formule ne fonctionne que pour la ligne 3, si ma donnée se trouve sur la ligne 4 ça ne fonctionne plus
      0
  3. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Bonjour le fil,

    Bonjour Vaucluse, plus rapide mais si tu cherches une donnée d'une ligne différente tu es dans le marc, de café bien sur

    regarde comme cela

    =INDEX(A2:H2;SOMMEPROD((A2:H5=B13)*COLONNE(A2:H5)))

    je te conseille de nommer ta matrice A2:H5 nommée List, dans ce cas la formule devient

    =INDEX(A2:H2;SOMMEPROD((List=B13)*COLONNE(List)))

    l'intérêt de nommer ta matrice facilite et simplifie la formule si tu souhaites l'utiliser sur un onglet différent
    A+
    Mike-31

    Une période d'échec est un moment rêvé pour semer les graines du savoir.
    0
    1. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
       
      Re,

      As tu au moins testé ma formule ?
      0
    2. Utilisateur anonyme
       
      Bonjour,
      je te remercie, ta formule fonctionne super.
      tu m'enlèves une épine du pied
      0
  4. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    alors je passe le statut en résolu et pour ceux qui voudrait chercher la valeur verticale

    =INDEX(A1:A5;SOMMEPROD((A2:H5=B13)*LIGNE(A2:H5)))
    0
    1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      salut Mike
      suis d'accord pour nommer le champ, mais ta logique voudrait alors que tu nommes aussi A1:A5.
      et je répugne un peu à utiliser SOMMEPROD quand on peut faire autrement, vu que le code est assez gourmand
      De plus il ne faut pas, pour utiliser cette option, que tu ais le code cherché sur plusieurs lignes de A2 à H5.
      Donc, les deux solutions peuvent être ou ne pas être avantageuses selon les cas;
      Bien amicalement
      0
    2. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
       
      Salut l'ami,

      Oui bien sur pour nommer toute les plages ainsi que SOMMEPROD est très gourmande en ressource, mais lorsque on a plusieurs lignes à traiter je n'ai pas trouvé mieux et tu as tout à fait raison sur le fait que si tu as dans la colonne plusieurs critères identiques le résultat est multiplié, dans ce cas il faudrait compléter la formule mais toujours gourmande en ressource cela demande réflexion
      cordialement
      0