Problème formule cherche

Bonjour,

J'essaie d'utiliser la forrmule CHERCHE sans succès... =CHERCHE(poids;B2)

Poids fait référence à une liste de mots dans l'onglet "feuil2".

Même si je remplace cette référence "poids" par la colonne contenant les codes, l'erreur persiste : "=CHERCHE(Tb_PURE[@[N° LOT]];[@[num lot]])"

Pourriez-vous m'éclairer sur cette erreur ?

Question autre : est-ce que la formule CHERCHE fonctionne même si les mots sont séparés par des "alt+entrée" (comme c'est le cas dans la colonne A) ?

En vous remerciant pour votre aide.

18fichier-test84.xlsx (22.62 Ko)

Bonjour et bienvenue

Vous savez lire je pense, alors voici comment doit être utiliser cette fonction
https://support.microsoft.com/fr-fr/office/cherche-chercherb-fonctions-9ab04538-0e55-4719-a72e-b6f54...

De plus je ne comprends pas ce que vous cherchez à faire dans ce sens là

Bonjour Marc084 et JExcel2fr,

Pour effectuer une recherche dans une table, il ne faut pas utiliser CHERCHE (qui cherche dans un texte) mais bien RECHERCHEV ou RECHERCHEX ou INDEX avec EQUIV.

Donc plusieurs solutions.

Comme c'est un cas simple avec l'élément à rechercher dans la première colonne, j'ai utilisé RECHERCHEV.

Comme l'onglet de travail contient PLUSIEURS clés de recherche (ce n'est vraiment pas à conseiller), il faut impérativement en choisir une et donc, j'ai pensé que le plus grand (càd celui qui est à la fin) devait être prioritaire. Donc j'ai utilisé la fonction DROITE de 8 caractères (chance que tous les numéros sont de 8 chiffres).

Ensuite, ces numéros étant en mode texte, je les transforme en mode numérique car la base de données est en base numérique.

Et enfin, comme les numéros ne correspondent pas nécessairement de manière exacte à un numéro de la table, j'utilise le paramètre VRAI (ou omis) dans la fonction. A noter que, lorsque l'on utilise une recherche en mode VRAI, il faut impérativement que la table soit triée en ordre croissant - ce que j'ai fait.

Cela donne donc :=RECHERCHEV(CNUM(DROITE([@[num lot]];8));Tb_PURE;3;VRAI).

En choisissant le mode approximatif, la fonction prendra en considération la valeur égale ou la plus petite approchante :

Exemple : si on cherche 21350003 21355003 21355004 la fonction cherchera sur 21355004 et comme dans la table la valeur la plus petite approchante est 21350005, c'est celle-ci qu'il choisira.

J'espère avoir répondu à ta question

Bonne continuation

Chris

10fichier-test84.xlsx (19.44 Ko)

Bonjour à tous !

Et....

Si l'objectif est de "rapatrier" la traduction du lot concerné, je vous propose ceci :

image

Bonjour JFL !

Une réponse sans PQ !

Par contre faut toujours ouvrir le fichier pour voir la formule !
Bon je suis sous 21 donc je passe mon chemin pour voir son fonctionnement...

Pour CHRIS1945, je ne sais si les résultats sont bon, pour moi l'idée deux références pures alors PURE, si au moins une référence impure alors IMPURE, non ? Ou bien comme d'habitude je n'ai rien compris... Et alors comme dirait Dan (que je salue ! ) : "@LouReed : je n'ai pas compris votre intervention..." (pas tout à fait j'ai pris soin de corriger mon pseudo avec un "Lou" et non pas un "Loo" v).

@ bientôt

LouReeD

Bonjour à tous de nouveau !

@LouReed : Hello ...

Une réponse sans PQ !

Certainement une petite faiblesse de ma part.....

Pour vous faire regretter de n'avoir pas opté pour M365 :

=REDUCE("";FRACTIONNER.TEXTE([@[N° LOT]];;CAR(10))*1;LAMBDA(a;c;JOINDRE.TEXTE(CAR(10);;a; RECHERCHEX(c;Tb_PURE[N° LOT];Tb_PURE[Traduction];"--";0))))

Merci à vous tous. Effectivement le problème de ce fichier est la nomenclature, comme c'est un fichier de partage avec différents services pas facile...

Merci CHRIS1945, les explications sont très claires. En fait, j'aurai voulu chercher pour chaque numéro de lot même si plusieurs lots sont saisis dans une même case. Comme JFL a pu le proposer.

Merci JFL, c'est exactement ce dont j'avais besoin! Je vais essayer de comprendre la formule maintenant :)

Bonjour à tous !

Bien ...

Je vous remercie de ce retour.

Rechercher des sujets similaires à "probleme formule cherche"