Formule index equiv

Résolu
RORO0559 Messages postés 42 Statut Membre -  
Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   -
Je cherche une formule de calcul
pour rechercher dans une base de données les différentes informations qui peuvent êtres sur plusieurs lignes
La recherche doit se faire sur une 2ème feuille selon le code en cellule a1
Voici un exemple
https://www.cjoint.com/c/JBilUjN6k62
Merci

7 réponses

  1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Bien ,
    ça n'empêche pas que votre formule ne correspondait à rien
    essayez celle-ci en B2 de EXTRAcTION (?)

    =INDEX('BASE AT'!$A$2:$M$30;PETITE.VALEUR(SI('BASE AT'!$A$1:$A$30=$A2;LIGNE($A$1:$A$30));LIGNE(A1));COLONNE(B$1))

    à tirer sur la plage utile autant vers le bas que vers la droite
    Attention, formule matricielle à entrer avec trois touches:
    maintenir enfoncées ctrl et shift et "enter"
    bien respecter les positions des signes $
    formuler assez lourde, limitez les adresses et les plages de recopie au nombre maxi de lignes utiles
    et à soigner aussi
    l'adresse de l'item INDEX commence en ligne 1

    crdlmnt

    1
  2. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Pour placer SIERREUR rien de plus simle:

    =SIERREUR( votre formule complète sans le signe égal et );"")
    vous pouvez rajouter un commentaire éventuellement entre les guillemets
    1
  3. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Bonjour
    votre formule en feuille EXTRACTION B2:
    =SIERREUR(INDEX('BASE AT'!$A$2:$M$29;EQUIV($A1;<gras>$M$29</gras>;0);2);"")
    • à quoi sert d'aller chercher A1 alors que le code est en A2?
    • qu'est que M29 de EQuIV qui ne contient qu'une cellule?
    • pourquoi le champ de INDEX commence en ligne 2 et celui de EQUIV en ligne 1?, ça décale tout d'une ligne

    ne serait ce pas plutôt
    =SIERREUR(INDEX('BASE AT'!$A$2:$M$29;EQUIV($A1;'BASE AT'!$A$2:$A$29;0);2);"")
    ou encore plus simple puisque la colonne de recherche est la 1° de la plage
    =SIERREUR(RECHERCHEV(A2;'BASE AT'!$A$2:$M$29;2;0);"")
    ;2;0) pour 2° colonne ;3;0) pour 3° colonne Etc...

    0
  4. RORO0559 Messages postés 42 Statut Membre
     
    Bonjour je me suis mal exprimé, et j'ai transmis le fichier avec une donnée avec une seule ligne cela ne fonctionne pas si l'on saisie le code 1162 qui possède plusieurs lignes dans la base
    Merci
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. RORO0559 Messages postés 42 Statut Membre
     
    Bonsoir,
    Merci je découvre avec vous ce genre de formule et j'essaye de les comprendre pas toujours évident en se formant seul, mais vous m'aider beaucoup.
    Là j'essaye de trouver ou mettre sierreur
    Cordialement
    0
  7. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    pour mettre SIERREUR, rien de plus simple:
    • vous écrivez SIERREUR( tout de suite derrière le signe égal
    • vous rajouter <bold> );"") bold> en fin de formule.


    vous pouvez placer un commentaire entre les guillemets

    0
  8. RORO0559 Messages postés 42 Statut Membre
     
    Merci,
    C'est comme cela que je l'ai écrite, ça commence a s'éclaircir, Il faut juste que je trouve un site pour des explications de texte
    Parfait
    Cordialement
    0
    1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      pas de quoi
      je passe le sujet en résolu
      Bonne route
      crdlmnt
      0