RECHERCHEV

Bonjour,

je cherche à utiliser la fonction recherchev pour aller chercher une valeur sur un autre fichier.

la valeur A4 est le nom a rechercher dans le fichier '[Journal de paie 2021.xlsx] dans la feuille2 et j'ai sélectionné la plage des noms où il faut qu'il recherche la valeur A4; ensuite il faut qu'il prenne la valeur de la colonne 27 soit la colonne AA ; valeur exacte.

=RECHERCHEV(A4;'[Journal de paie 2021.xlsx]Feuil2'!$A$2:$A$65;27;FAUX)

résultat :#REF! je dois oublier quelque chose mais je ne vois pas quoi, si vous pouvez m'aider,

merci beaucoup.

12 réponses

  1. Re,

    ton tableau est bien dans le fichier nommé Journal de paie 2021.xlsx sur l'onglet nommé Feuil2, la plage de recherche est bien $A$2:$CZ$68 et dans la 5éme colonne soit la colonne E
    1. =SI(INDEX('[Journal de paie 2021.xlsx]Feuil2'!$A$2:$CZ$68;EQUIV(A5;'[Journal de paie 2021.xlsx]Feuil2'!$A$2:$CZ$68;0);5)="";DECALER(INDEX('[Journal de paie 2021.xlsx]Feuil2'!$A$2:$CZ$68;EQUIV(A5;'[Journal de paie 2021.xlsx]Feuil2'!$A$2:$CZ$68;0);5);1;0);INDEX('[Journal de paie 2021.xlsx]Feuil2'!$A$2:$CZ$68;EQUIV(A5;'[Journal de paie 2021.xlsx]Feuil2'!$A$2:$CZ$68;0);5))

      valeur renvoyée #N/A désolée...
      1. Re,

        il faut impérativement que les plages soient identiques

        [Journal de paie 2021.xlsx]Feuil2'!$A$2:$CZ$68

        Journal de paie 2021.xlsx]Feuil2'!$A$2:$CZ$67
        1. juste pour le plaisir de comprendre, j'ai tapé cette formule

          =SI(INDEX('[Journal de paie 2021.xlsx]Feuil2'!$A$2:$CZ$68;EQUIV(A5;'[Journal de paie 2021.xlsx]Feuil2'!$A$2:$CZ$68;0);5)="";DECALER(INDEX('[Journal de paie 2021.xlsx]Feuil2'!$A$2:$CZ$68;EQUIV(A5;'[Journal de paie 2021.xlsx]Feuil2'!$A$2:$CZ$68;0);5);1;0);INDEX('[Journal de paie 2021.xlsx]Feuil2'!$A$2:$CZ$67;EQUIV(A5;'[Journal de paie 2021.xlsx]Feuil2'!$A$2:$CZ$68;0);5))

          mais ça ne marche pas, si vous avez le temps...

          Bonne journée.
          1. Re,

            je vais t'expliquer, au début tu avais cette formule de base

            =RECHERCHEV(A4;'[Journal de paie 2021.xlsx]Feuil2'!$A$2:$F$65;27;FAUX)

            que j'ai remplacé par
            INDEX('[LAtn4n7Gzks_fichier-B.xlsx]Feuil1'!$A$4:$F$20;EQUIV(A5;'[LAtn4n7Gzks_fichier-B.xlsx]Feuil1'!$A$4:$A$20;0);5)

            j'ai simplement précédé cette formule par une conditionnelle
            =SI(INDEX('[LAtn4n7Gzks_fichier-B.xlsx]Feuil1'!$A$4:$F$20;EQUIV(A5;'[LAtn4n7Gzks_fichier-B.xlsx]Feuil1'!$A$4:$A$20;0);5)="" alors j'ai encadré la formule de base par un DECALER ;1;0) pour descendre d'une ligne
            DECALER(INDEX('[LAtn4n7Gzks_fichier-B.xlsx]Feuil1'!$A$4:$F$20;EQUIV(A5;'[LAtn4n7Gzks_fichier-B.xlsx]Feuil1'!$A$4:$A$20;0);5);1;0)

            et sinon ; la formule de base, ce qui donne au final
            =SI(INDEX('[LAtn4n7Gzks_fichier-B.xlsx]Feuil1'!$A$4:$F$20;EQUIV(A5;'[LAtn4n7Gzks_fichier-B.xlsx]Feuil1'!$A$4:$A$20;0);5)="";DECALER(INDEX('[LAtn4n7Gzks_fichier-B.xlsx]Feuil1'!$A$4:$F$20;EQUIV(A5;'[LAtn4n7Gzks_fichier-B.xlsx]Feuil1'!$A$4:$A$20;0);5);1;0);INDEX('[LAtn4n7Gzks_fichier-B.xlsx]Feuil1'!$A$4:$F$20;EQUIV(A5;'[LAtn4n7Gzks_fichier-B.xlsx]Feuil1'!$A$4:$A$20;0);5))

            1. c'est trop compliqué pour moi, mais merci beaucoup pour votre aide.

              Bonne fin de soirée.
              1. Re,

                alors en D4 colle cette formule qui est longue puisqu'elle doit identifier le classeur, l'onglet et la plage plusieurs fois dans la formule
                '[LAtn4n7Gzks_fichier-B.xlsx]Feuil1'!$A$4:$F$20
                et incrémente là vers le bas

                =SI(INDEX('[LAtn4n7Gzks_fichier-B.xlsx]Feuil1'!$A$4:$F$20;EQUIV(A5;'[LAtn4n7Gzks_fichier-B.xlsx]Feuil1'!$A$4:$A$20;0);5)="";DECALER(INDEX('[LAtn4n7Gzks_fichier-B.xlsx]Feuil1'!$A$4:$F$20;EQUIV(A5;'[LAtn4n7Gzks_fichier-B.xlsx]Feuil1'!$A$4:$A$20;0);5);1;0);INDEX('[LAtn4n7Gzks_fichier-B.xlsx]Feuil1'!$A$4:$F$20;EQUIV(A5;'[LAtn4n7Gzks_fichier-B.xlsx]Feuil1'!$A$4:$A$20;0);5))

                toute fois il serait possible de raccourcir un peu la formule en nommant la plage '[LAtn4n7Gzks_fichier-B.xlsx]Feuil1'!$A$4:$F$20 exemple List ce qui ramènerait l'identification à 'LAtn4n7Gzks_fichier-B.xlsx'!List
                et la plage '[LAtn4n7Gzks_fichier-B.xlsx]Feuil1'!$A$4:$A$20 nommée Nom '[LAtn4n7Gzks_fichier-B.xlsx]Nom et donc la formule deviendrait

                =SI(INDEX('LAtn4n7Gzks_fichier-B.xlsx'!List;EQUIV(A5;'LAtn4n7Gzks_fichier-B.xlsx'!Nom;0);5)="";DECALER(INDEX('LAtn4n7Gzks_fichier-B.xlsx'!List;EQUIV(A5;'LAtn4n7Gzks_fichier-B.xlsx'!Nom;0);5);1;0);INDEX('LAtn4n7Gzks_fichier-B.xlsx'!List;EQUIV(A5;'LAtn4n7Gzks_fichier-B.xlsx'!Nom;0);5))

                1. Super merci beaucoup...

                  et plus compliqué comment lui dire d'aller chercher la ligne du dessous
                  exemple de mon fichier à remplir :
                  nom montant de l'autre fichier montant de l'autre fichier

                  XXX AA2 AA3

                  pas facile à comprendre, excusez-moi...
                  1. Bonjour

                    comme cela
                    =RECHERCHEV(A4;'[Journal de paie 2021.xlsx]Feuil2'!$A$2:$AA$65;27;0)

                    ta matrice de recherche doit tenir compte de la totalité de ton tableau '[Journal de paie 2021.xlsx]Feuil2'!$A$2:$AA$65
                    1. Bonjour

                      La plage de recherche n'est pas bonne

                      =RECHERCHEV(A4;'[Journal de paie 2021.xlsx]Feuil2'!$A$2:$AA$65;27;FAUX)

                      Cordialement