Recherchev

Résolu
fagots Messages postés 96 Statut Membre -  
fagots Messages postés 96 Statut Membre -
Bonjour à tous

Voilà j'ai un tableau en colonne A des codes INSEE, colonne C des sites, et colonne D des codes INSEE.
Je voudrais faire matcher les codes INSEE de la colonne A avec ceux de la colonne D et avoir en résultat la colonne C.
je fais la recherche v = Valeur rechercheA2;table matrice C:D; renvoie Colonne 1;faux.

Le résultat est que si je mets mais colonne en forme texte la formule s'affiche:=RECHERCHEV(A2;C:D;1;FAUX) et non mon résultat attendu.

Ou comment faire une recherche v sur des nombre avec un résultat sur un texte?

Pouvez-vous m'aider ?
Cordialement

Fagots

9 réponses

  1. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Bonjour,

    Et pourquoi ne pas inverser la colonne C avec la colonne D
    0
  2. fagots Messages postés 96 Statut Membre
     
    Bonjour,
    J'ai fais l'essai mais le même résultat. Cela ne match pas.
    0
  3. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    alors laisse ton fichier comme il est, en A des codes INSEE, en C des sites, en D des codes INSEE tu veux afficher C en fonction de A et D

    en formule matricielle qu'il faudra valider en cliquant en même temps sur 3 touches du clavier Ctrl, Shift et Entrée
    Si tu fais bien la formule se placera entre {}

    colle cette formule dans laquelle j'ai ajouté une gestion d'erreur

    =SIERREUR(INDEX(C2:C50;PETITE.VALEUR(SI((A2:A50=I1)*(D2:D50=J1)=1;LIGNE(A2:A50)-1);1));"pas de correspondance")

    valide avec les trois touches, en I1 crée une liste de validation pour afficher le critère de la colonne A et en J1 une liste de validation pour afficher le critère de la colonne D

    tu pourrais simplifier la formule en nommant les plages, exemple la plage colonne A nommée Cod1, la plage colonne D nommée Cod2 et la plage de recherche en C nommée Sites

    la formule pourras être utilisée dans des feuilles différentes et devient

    =SIERREUR(INDEX(Sites;PETITE.VALEUR(SI((Cod1=I1)*(Cod2=J1)=1;LIGNE(Cod1)-1);1));"pas de correspondance")
    0
  4. fagots Messages postés 96 Statut Membre
     
    Re,
    rien a faire. Mais je ne comprends pas tout. Que voulez vos dire par "en I1 crée une liste de validation pour afficher le critère de la colonne A et en J1 une liste de validation pour afficher le critère de la colonne D "
    Sinon la validation par les trois touches c'est bon.



    cdt

    Fagots
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    regarde le fichier joint voir s'il répond à tes attentes, plage jaune et bleu saisir tes codes et en C tes valeurs que tu dois rechercher.

    cellule I1 et J1 sélectionne les deux critères et en K4 et K7 tu auras le résultat

    https://www.cjoint.com/?DJhn0rHlb7K
    0
  7. fagots Messages postés 96 Statut Membre
     
    Ok je regards et je vous tiens informé.
    Cdt
    0
  8. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    Tu as des espaces devant certaines valeurs colonne A, ressaisir les valeurs et ta formule fonctionnera
    limite la matrice
    en remplaçant B:C de même la valeur recherchée n'est pas dans la colonne 1 mais 2
    =RECHERCHEV(A2;$B$2:$C$50;2;0)

    tu peux également compléter la formule avec une gestion d'erreur

    =sierreur(RECHERCHEV(A2;$B$2:$C$5;2;0);"pas de correspondance")
    0
  9. fagots Messages postés 96 Statut Membre
     
    ok merci.
    Cdt

    0