Calc : rechercheV non exact

Jean Claude Van Damme serait fière de vous…

[…] alors écrivez “cuisse de poulet” en B2

Comme je disais plus bas, le fichier est trop monosituationel. Si j’ai un texte en 3 mots ça va, en 4 c’est fini, en 1 j’ai une erreur

Donc la formule fonctionne, c’est seulement un paramètre qu’il faut changer.

Dans la formule, remplacez la référence a la cellule B2 par REGEX et construisez une regular expression avec les mots de la cellule B2 et écrivez dans celle-ci “cuisse de poulet”

Vous aurez donc quelque chose comme :
=FORMULEACTUELLE(REGEX(B2; …) ; autres_parametres)

Je ne comprends pas exactement ce que je dois faire. Je dois remplacer le texte “poulet, cuisse” par “REGEX” ?

remplacer
=FORMULEACTUELLE(B2, autres_parametres)
par
=FORMULEACTUELLE(REGEX(zone_de_recherche, B2, “”, “g”), autres_parametres)

Ensuite, écrivez ce que vous cherchez dans la cellule B2.

Ainsi, au lieu que FORMULEACTUELLE recherche le contenu de la cellule B2, REGEX transformera en regular expression le contenu de la cellule B2 qui sera ensuite utilisée comme argument de recherche.

Ce que je ne comprends pas c’est comment la formule suivante va passer de “je change l’ordre des mots et je mets une virgule” à “je sépare chaque mot en cellule differente” juste en mettant “regex”

@chris.the.webber ?

… formule suivante … ?

En tout cas.

Avec la formule que je vous ai donné ci-dessus, en adaptant l’expression régulière dans la cellule B2 vous devriez être en mesure de trouver les mots qu’elle contient, peu importe l’ordre dans lequel ils sont écrits et/ou s’ils sont séparés par d’autres mots.

C’est pas ce que vous souhaitez accomplir ?

si, bien entendu, sauf que je ne comprends pas quelle FORMULEACTUELLE de quel fichier parce qu’il y a le mien et des tonnes d’autre

serait il possible d’avoir l’exemple sur mon fichier?

Solution #1
=VLOOKUP(B2;tableau;1;0)

Vous remplacez B2 par la cellule où vous écrirez ce que vous cherchez et tableau par la plage de cellule contenant les valeurs.
Notez que cette solution ne retournera qu’un seul et unique résultat.

Solution #2
Sélectionner la plage de cellules équivalent à tableau de la Solution #1
Format → Conditional (conditionnel) → Condition
Sur le dialogue qui vient de s’ouvrir :
Cell value (valeur de cellule) → contains (contient) → REGEX(B2;regular_expression ; ; “g”)
Apply style (appliquer le style) : Good
Range (plage) : la plage de cellules équivalent à tableau de la Solution #1
Appuyez sur OK. Lorsque vous entrerez un terme dans la cellule B2 alors la REGEX du format conditionnel s’opérera et si la regular expression retourne une valeur valide alors la (ou les) cellule(s) contenant la valeur changeront de style visuel.

NOTE : si le style Good n’existe pas alors le créer ou en choisir un autre, existant, depuis la liste.

Solution #3
Edit (édition)-> Find (trouver)
(Ctrl + F est aussi valide)

La solution 1 ne peux pas fonctionner vu qu’elle cherche un résultat exact.
La solution 3 est inutile. L’idée c’est de faire une conversion rapide, pas de rechercher manuellement

Quant à la solution 2. Si je comprends bien elle sert à mettre en valeur, dans le tableau de donnée, ce que je recherche? ça ne va donc pas l’afficher dans ma liste?

Pourriez vous regarder mon fichier et tester votre formule sur la liste de l’onglet “Conversion recette” et dans la partie “Proche correspondant” ?
Test conversion amélioré.ods (127.5 KB)

@chris.the.webber ?

Ça fonctionne cependant j’ai omis de dire, dans la Solution #2 qu’il faut mettre à jour la regular expression chaque fois qu’on change le terme de recherche.
Pour mettre à jour la regular expression : sélectionner la plage correspondant à tableau, aller dans le menu Format → Conditional (conditionnel) → Condition
Sur le dialogue qui vient de s’ouvrir :
Cell value (valeur de cellule) → contains (contient) → REGEX(B2;regular_expression ; ; “g”)
Apply style (appliquer le style) : Good
Range (plage) : la plage de cellules équivalent à tableau de la Solution #1
Appuyez sur OK.

@chris.the.webber Mais du coup ça ne fonctionne pas sur une conversion multiple.

L’idée c’est de mettre TOUS les ingrédients de la recette, de trouver tous les correspondants dans la table via la liste puis qu’il cherche les conversions

B2 = “Cuisse, ail, poulet”
REGEX = (B2;"[Cuisse]?[poulet]?";;“g”)

Extraire (car le 3e paramètre de REGEX ci-dessus est null) “Cuisse” (0 ou 1 fois) suivi de “poulet” (0 ou 1 fois) du texte de la cellule B2.

Résultats possibles avec une telle expression :
“” (rien trouvé)
“Cuisse”
“poulet”
“Cuisse poulet”

@chris.the.webber Cette formule ne fonctionne QUE dans ce cas là du coup.
Est ce qu’il serait possible de consulter mon fichier pour voir exactement ce que je cherche?

@chris.the.webber ?