Formule recherchev pb

Bonjour à tous,

Dans une colonne de mon Excel j'ai cette formule (qui s'étend à toute la colonne) :

=SI(B2=RECHERCHEV(B2;TableauSalarieResponsable;1;VRAI);RECHERCHEV(B2;TableauSalarieResponsable;2;VRAI);RECHERCHEV(G2;TableauResponsables;2;FAUX))

Avec B2 = Nom salarié ; G2 = Service du salarié

En gros, si le nom de mon salarié fait parti du tableau SalarieResponsable, alors j'affiche la 2eme colonne de ce même tableau dans la cellule, sinon j'affiche, en fonction de son service, la 2eme colonne du tableau Responsables.

Cette formule est pour moi correcte et réponds à mes besoins, par contre je rencontre ce problème :

capture d ecran 2022 05 20 121827

De la ligne 2 à 39 (j'ai masqué certaine colonne pour la lisibilité) ça m'affiche #N/A et après la ligne 39 aucun soucis tout fonctionne comme prévu.

J'ai remarqué que la ligne 40 correspond à la 1ere fois où ma condition B2=Recherchev.... était vraie, mais pour moi c'est une coïncidence car même au changement du nom présent dans la colonne B aucun changement.

Ce que j'ai vérifié :

-Les noms dans la colonne B sont bien valide, pas différent des autres dans le format.

-La colonne G est valide aussi.

Je ne peux malheureusement pas joindre mon fichier, par contre si vous voulez plus de précisions ou de screens je peux vous les fournir.

Merci à vous !

Bonjour, pourquoi mets-tu l'argument "VRAI" pour ta recherche B2 ? Ce sont des noms de salariés... Essaye en mettant 0 ou FAUX.

Bonjour, je pense que la formule est mal utilisée en plusieurs points.

On ne peut pas vérifier si le résultat d'une recherche est "Vrai". soit rechercheV renvoi la réponse soit elle génère une erreur.

1) Il faut donc partir du problème inverse : = Sierreur(RechercheV(..recherche1...) ; RechercheV(recherche2.. )

Ainsi si erreur sur la première recherche c'est la deuxième qui s'affiche.

2) Par ailleurs quand on fait une rechercheV la valeur cherchée se trouve dans la première colonne alors que dans votre exemple

vous cherchez soit un nom d'agent soit un service dans la même colonne ? je doute que cela fonctionne. Si les valeurs cherchées sont différents alors les plages de recherches aussi. donc 2ème recherche pour moi à corriger .. mais sans info sur la mise en page des données impossible de donner la formule exacte.

De base j'avais mis "FAUX" partout car cela me paraissais le plus logique mais je n'obtenais pas ce que je souhaitais, du coup j'ai mis "VRAI" pour tester et c'était déjà un peu mieux.

Lorsque je mets "FAUX" j'ai cette fois-ci seulement les lignes ou ma 1ere condition est vrai qui ont un nom de responsable, toutes les autres sont en "#N/A".

J'ai donc apparemment un souci dans ma condition mais je n'arrive pas à comprendre où (là ou avec le "VRAI" je n'avais pas ce souci).

Merci pour votre aide !

re, je ne comprends pas pourquoi tu fais un Si B2 (recherche B2 ??), cela veut dire si un nom de salarié en B2 = recherche d'un nom de salarié dans le tableau des salariés à la 1ere colonne ???), Si tu le recherches c'est qu'il est la !!! je pense que tu devrais faire si (recherchev(b2..... Mais en fait , que veux-tu faire ? Suivant le nom de la personne trouver son rang de responsable,?? Ne pourrais-tu pas joindre un exemple de fichier avec qques lignes inventées, on y verrait plus clair ! Merci

Bonjour Jmber

il fait un si(b2=rechercheV(b2 ..... pour vérifier que le nom existe bien dans son tableau et pour pouvoir ajouter sa deuxième condition si il n'existe pas. )

Comme je l'ai écrit plus haut c'est inutile. "SiErreur" renvoi la seconde recherche si la première est en erreur ... donc si le nom n'existe pas.

Le problème est la seconde recherche on ne peut pas chercher le nom du service dans la même colonne que le nom de l'agent donc la plage

de recherche n'est certainement pas la même.

Bonjour Xmen, oui y'a un truc qui ne colle pas et tu as mis le doigt dessus ! Je vais devoir vous laisser, bonne continuation, et bon début de week-end !

Re jmber1972,

C'est effectivement compliqué à comprendre mais en gros les informations (Nom, service, ...) sont issues notre paye, sauf que de mon côté je dois associer les personnes avec leurs responsables (donc en fonction de leur service). Sauf qu'il y a des cas particuliers où il faut que j'affiche un responsable différent du responsable de service.

J'ai transformé ma formule grâce aux conseils de Xmenpl ce qui donne :

=SIERREUR(RECHERCHEV(B2;TableauSalarieResponsable;2;FAUX);RECHERCHEV(G2;TableauResponsables;2;FAUX))

Et tout fonctionne comme je voudrais que ça fonctionne !

Ps : pour le 2ème point de Xmenpl -> Si vous regardez bien ma 1 ère formule j'ai bien 2 tableaux différents, j'avais pas tout à fait tord dans la philosophie mais prendre le problème à l'envers était effectivement plus simple

Merci à vous pour votre temps !

Effectivement Une fois la formule raccourci on voit mieux les deux noms de tableaux différent.

Content que la solution était la bonne

Rechercher des sujets similaires à "formule recherchev"