Incrémenter une recherchev

Résolu
Bonjour,

J'ai un problème avec une recherchev.

dans un classeur Excel j'ai 2 feuille une qui contieint des noms d'élèves et le matériel qu'ils ont pris en début d'année.
Dans l'autre feuille j'ai créer une recherchev avec comme valeur cherchée une liste de validation!

=SI($A$5<>"";RECHERCHEV($A$5;base;2);"")

Cette formule fonctionne très bien! Mais j'aimerais pouvoir utiliser la poignée de recopie pour tirer cette formule contre la bas et j'aimerais que le N°_index_col (ici dans la formule (2)) change pour devenir 3, 4, 5 et ainsi de suite!

Es-ce possible???

Merci bcp d'avance pour vos précieuses réponses.
Configuration: Windows XP
Internet Explorer 6.0

6 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    Eh bien !
    Il était absolument impossible de t'apporter la bonne réponse sans avoir ton fichier sous les yeux, vu la manière dont tes tableaux sont montés.
    Les $ étaient effectivement indispensables.
    Par contre ta colonne de référence dans la formule RECHERCHEV (soit "2" en B9) doit évoluer en fonction de la colonne relative à l'article emprunté.
    Pour y parvenir, j'ai utilisé la fontion LIGNE() qui indique dans quelle ligne on se trouve, soit "9" pour l'article "Aide-mémoire du sommelier" ; comme la valeur cherchée "21,00" se trouve dans la deuxième colonne de la matrice "base", il faut saisir "... ;LIGNE()-7; ...".
    En incrémentant, le 2 devient successivement 3, 4, etc.
    1. bonjour Raymond

      apparemment , il veut ramener le total de la colonne ...
    2. @Raymond PENTIERMerci Bcp à vous 2, c'est vraiment sympa de votre part!!!!

      Si un jour je peux vous aider surtout n'hésitez pas!
    3. @Raymond PENTIERRaymond,

      Merci bcp pour tous, mais il y a encore une petit chose que je ne comprends pas!

      Pourquoi toutes les formules sont pareil...........=SI($A$5<>"";RECHERCHEV($A$5;base;LIGNE()-7;0);"")

      Sauf la dernière qui est comme cela........=SI($A$5<>"";RECHERCHEV($A$5;base;LIGNE()-6;0);"")

      Et je dois avouer que je ne comprends pas réellement la fonction ligne()
    4. Contributeur
      @Thyde1) C'est pour tomber sur ta colonne AI, qui est la 32ème de ta matrice "base", la colonne AH étant inutilisée.
      2) La fonction ligne() t'indique le N° de la ligne dans laquelle tu te trouves.

      J'avais expliqué dans mon post 10 :
      Pour y parvenir, j'ai utilisé la fontion LIGNE() qui indique dans quelle ligne on se trouve, soit "9" pour l'article "Aide-mémoire du sommelier" ; comme la valeur cherchée "21,00" se trouve dans la deuxième colonne de la matrice "base", il faut saisir "... ;LIGNE()-7; ...".

      Pour "visualiser" le résultat, tape =LIGNE() en C9 et recopie vers le bas.
  2. Bonjour,

    Ca n'a rien à voir avec la recherchev . Mais j'ai regardé sur le fichier ci-joint et je ne sais pas faire la liste déroulante en A5 de la feuille "facture 1er semestre". Pouuriez-vous m'indiquer la marche à suivre ?

    Merci d'avance
    Yaloo
    1. Contributeur
      Bonjour à tous,
      erreur, je n'avais pas lu la solution de Raymond

      A+
      Michel
      1. Donc je ne sais pas si vous avez compris mon problème!

        =SI($A$5<>"";RECHERCHEV($A$5;base;2);"")

        Mais j'aimerais ne pas devoir changer le N° de colonne pour chaque cellule!
        1. mettre simplement en B9 de la feuille facture

          SOMME('GEI2 1er semestre'!E11:E35)

      2. Contributeur
        Enlever aussi (et surtout) les autres $.
        1. salut Raymond

          Attention :
          il ne faut pas enlever les autres $ sinon s'il y a un décalage ou non trié
          il ne retrouvera pas la correspondance ...

        2. Contributeur
          @xkristiJe n'ai pas trop compris ton observation ; tu peux préciser ?
      3. Salut !
        ne pas mettre le $ devant la lettre

        =SI(A$5<>"";RECHERCHEV(A$5;base;2);"")

        tu as posté en double ????
        1. Merci bcp je vais essayé, oui j'ai posté en double mais ct une erreur.
        2. J'ai testé malheureusement cela ne fonctionne pas!!!

          SI(A$5<>"";RECHERCHEV(A$5;base;2);"")

          Car c'est le n° de colonne qui doit changer!
        3. @Thydeavais-tu défini la plage de cellules où il faut effectuer la recherche dans base

          essaie ceci

          SI(ESTERREUR(RECHERCHEV(A4;base!A$2:B$5;2));"";(RECHERCHEV(A4;base!A$2:B$5;2)))

          tu auras "" ce qui veut dire espace si tu ne trouves pas dans base

          va voir ici :

          https://www.cjoint.com/?cCosTaueb3