Microsoft 365 Fonction Si - Ne renvoie pas à la bonne référence

  • Initiateur de la discussion Initiateur de la discussion eoliv
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

eoliv

XLDnaute Junior
Bonjour,

Pour gagner du temps de saisie dans un tableau, j'utilise la fonction suivante :
=SI(D2<>"";SI.NON.DISP(RECHERCHEV(D2;$A$2:$B$16;2;VRAI);"inconnu");"")

ça me permet de saisir, en théorie, une donnée dans une 1ère cellule et d'avoir automatiquement une 2ème référence dans la cellule juste à côté.
Pour plusieurs données différentes, on peut avoir des références identiques. Par exemple, Pierre, Paul sont référencés TOP.

Dans le fichier joint, la fonction renvoie à de mauvaises références. Je ne comprends pas pourquoi. Comment faire pour que les références associées soient bien saisies automatiquement svp ?

Merci d'avance pour votre soutien 🙂
 

Pièces jointes

Solution
Bonjour à tous,

Oui recherche d'abord sur la totalité du texte puis sur le 1er mot :
VB:
=SIERREUR(RECHERCHEV(D2;Feuil2!$A$2:$B$16;2;FAUX);SIERREUR(RECHERCHEV(GAUCHE(D2;TROUVE(" ";D2)-1);Feuil2!$A$2:$B$16;2;FAUX);REPT("inconnu";D2<>"")))
On pourrait ajouter une 3ème recherche sur le 2ème mot...

A+
Bonjour à tous,

Oui recherche d'abord sur la totalité du texte puis sur le 1er mot :
VB:
=SIERREUR(RECHERCHEV(D2;Feuil2!$A$2:$B$16;2;FAUX);SIERREUR(RECHERCHEV(GAUCHE(D2;TROUVE(" ";D2)-1);Feuil2!$A$2:$B$16;2;FAUX);REPT("inconnu";D2<>"")))
On pourrait ajouter une 3ème recherche sur le 2ème mot...

A+
 

Pièces jointes

Bonjour à tous,

A tout hasard
VB:
=SIERREUR(SI(ESTNUM(EQUIV(D2;Data[CONTACT];));RECHERCHEV(D2;Data;2;FAUX);RECHERCHEV(STXT(D2;1;CHERCHE(" ";D2)-1);Data;2;FAUX));"Inconnu")

JHA
Bonjour, Merci pour ton soutien. Dans ta formule, je vois bien à quoi renvoie...Data... Mais je ne vois pas à quoi correspond ...[CONTACT]...
Est-ce que Excel se réfère automatiquement à la colonne A en feuille 2 ?
 
Bonjour à tous,

Les données de l'onglet "Feuil2" ont été mises sous mode "Tableau".
Le nom de de ce tableau est "Data", celui-ci comporte 2 plages "Contact" et "Lien".
Donc "Data[contact]" correspond à la plage "A2:A16" dans l'exemple.

JHA
 
oups... je n'avais pas répondu à ta question sur les "tableaux structurés". C'est vrai que ce n'est pas un terme que j'utilise beaucoup.

En somme, dans mon tableau d'origine, la formule que je saisie se recopie automatiquement sur la colonne dans la laquelle je l'ai saisie.
Pour concevoir mon tableau j'utilise : Accueil / Styles / Mettre sous forme de tableau.

Pour la base données qui est dans une autre feuille, je nomme simplement la partie dans laquelle Excel fera sa recherche. Si besoin de retrouver les colonnes et cellules auxquelles je donne un nom, je vais dans Formule / Gestionnaire de Noms
 
Bonjour à tous,

Les données de l'onglet "Feuil2" ont été mises sous mode "Tableau".
Le nom de de ce tableau est "Data", celui-ci comporte 2 plages "Contact" et "Lien".
Donc "Data[contact]" correspond à la plage "A2:A16" dans l'exemple.

JHA
Eh bien je te remercie grandement toi et ceux qui ont participé à cette résolution de problème. ça marche !

J'ai un tout petit axe de progrès : faire que la cellule reste vide quand il n'y a pas de référence du tout (là, j'ai une bonne partie de la colonne qui n'est pas rempli et qui indique, du coup, "inconnu")

Quand j'ai repris ta formule, j'ai tenté de faire comme toi en en écrivant... Data[contact]... puis ... Data[A2:A16]...mais Excel n'en voulait pas. Mais en écrivant simplement la référence de la colonne... A2:A16... ça fonctionne !

MERCI !!!!
 
J'ai un tout petit axe de progrès : faire que la cellule reste vide quand il n'y a pas de référence du tout (là, j'ai une bonne partie de la colonne qui n'est pas rempli et qui indique, du coup, "inconnu")
Avec la solution que j'ai donnée il n'y a pas ce problème :
Oui recherche d'abord sur la totalité du texte puis sur le 1er mot :
VB:
=SIERREUR(RECHERCHEV(D2;Feuil2!$A$2:$B$16;2;FAUX);SIERREUR(RECHERCHEV(GAUCHE(D2;TROUVE(" ";D2)-1);Feuil2!$A$2:$B$16;2;FAUX);REPT("inconnu";D2<>"")))
On pourrait ajouter une 3ème recherche sur le 2ème mot...
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour