Tableau de conversion

C’est hors sujet et pas tout à fait juste (il y a à certains endroits des parenthèses ou des virgules) mais je prends quand même.

Concernant le sujet, une suggestion?

pour la recherche ultérieure sur cette colonne, les virgules et les parenthèses parsemées au hasard ne sont pas pertinentes !

Non!

Pour moi elles le sont… la pertinence est suggestive dans ce cas.

C’était donc globalement inutile de commenter non? Pourquoi juste venir dire que quelque chose ne plait pas sans proposer de solution?

Pas complètement inutile, du moins je pouvais conclure de ne pas investir plus de temps et d’énergie ici…

:face_with_raised_eyebrow:
:+1: :wave:

Bonjour,

c’est le même besoin que sur Calc : rechercheV non exact non ?

Plus ou moins.
Comme je ne peux apparemment pas éditer le premier message pour mettre le tableau, préciser la demande, qu’il y avait pas mal de spams et pas de réponse concluantes, il fallait bien que je fasse quelque chose.

REGEX(B2,"[Cuisse]?[poulet]?";;"g")

Cette regex retournera TRUE à condition que la cellule de recherche contienne, peu importe sa position dans la cellule, soit Cuisse, soit poulet, soit les deux. Ainsi, si on applique cette regex à une cellule contenant poulet, cuisse, alors elle sera incluse dans les résultats.

REGEX(B2,"[Fraise?]?";;"g")

Cette regex, retournera, comme ci-dessus, TRUE si elle est appliquée à une cellule contenant le mot Fraise, ou le mot Fraises, ou le mot Fraisee. Le ? en regex signifie 0 ou 1. Dans ce cas-ci, 0 ou 1 caractère à la fin de Fraise, et le terme nouvellement crée, 0 ou 1 fois.

REGEX(B2,"[Tarte aux pomme]*";;"g")

Cette regex retournera TRUE si elle est appliquée à une cellule contenant la séquence de mot suivante “Tarte aux pommes” suivie de n’importe quelle autre séquence, 0 ou plusieurs fois, de mots. Ainsi, elle retournera TRUE aux séquences suivantes :
“Tarte aux pomme”
“Tarte aux pommes”
“Tarte aux pommes de route”
“Tarte aux pommes caramélisées”
“Tarte aux pommes 9as8d7fa8s9dfaW$#WR AD3@@”
“pas encore une Tarte aux pomme”

mais elle retournera FALSE aux séquences suivantes :
“Tarte au pommes”
“Tarte au pomme”

Pour que les 2 séquences ci-dessus soient incluses, alors il faut avoir comme regex ce qui suit :
REGEX(B2, "[Tarte au? pomme]*";;"g"

Je comprends la formule, cependant si je dois à chaque fois modifier la formule en fonction de ce que je cherche ça ne me fera pas gagner tellement de temps.
Est ce qu’on peut faire une ligne intermédiaire qui sépare toute seule les mots puis un regex?
On pourrait même faire une ligne qui sépare les mots, une ligne qui met tout au singulier puis un regex avec ? pour avoir le singulier et le pluriel ?

@chris.the.webber Tes formules ne font pas ce que tu crois, ce que tu veux est:

=REGEX(B2,".*(Tarte aux? pomme).*";;"g")

:face_with_thermometer:

@fpy que veux-tu me dire?

image

Pas de différence(s) ici :

Untitled-Copie

Les [square] parenthèses ont une signification différente de ce que tu crois !

`=REGEX($A2;"[aeoulprstx]"; ;g ) =REGEX($A2;"[[tarte]?[aux]?[poulets]?]"; ;g ) =REGEX($A2;"[aeoulprstx]+"; ;g )
Januar a a a
Februar e e e
März r r r
April p p pr
Mai a a a
Juni u u u
Juli u u ul
August u u u
September e e epte
Oktober t t to
November o o o
Montag o o o
Dienstag e e e
Mittwoch t t tt
Donnerstag o o o
Freitag r r re
Samstag a a a
Sonntag o o o

see description for square-groups

Ce lien explique ce qu’est une REGEX, comment elle fonctionne dans LO
https://help.libreoffice.org/latest/en-US/text/scalc/01/func_regex.html?&DbPAR=CALC&System=WIN

Tandis que ce lien explique la syntaxe d’une REGEX (par exemple, le + signifie 1 ou plus d’une fois, le ? signifie 0 ou 1 fois, le * pour 0 ou plus d’une fois, …)
https://help.libreoffice.org/latest/en-US/text/shared/01/02100001.html?&DbPAR=CALC&System=WIN

1 Like

[quote=“Mr-Boutindou, post:12, topic:112848, full:true”]
Est ce qu’on peut faire une ligne intermédiaire qui sépare toute seule les mots puis un regex?[/quote]
Probablement que oui, mais je ne sais pas faire une REGEX qui sépare tous les mots contenus dans chacune des cellules d’une même colonne, qui utilisera ensuite chacun de ces mots pour créer une autre REGEX qui sera appliquée sur les mêmes données. De plus, selon mes connaissances, REGEX cessera le travail de recherche aussitôt qu’il aura obtenu une valeur TRUE, ou qu’il aura parcouru toute les données a parcourir. Ainsi, la REGEX
REGEX(B2,"[Cuisse]?[poulet]?";;“g”)
retournera TRUE à Cuisse et ne cherchera pas poulet dans la ligne de recherche suivante, même s’il s’y trouve :
Cuisse de poulet brûlée au gingembre.

C’est déjà fait avec l’opérateur ?, mais ce n’est pas affiché.

ok, mais je ne peux pas laisser ta formule à demeure et mettre à chaque fois un autre élément. Je suis obligé de changer la formule à chaque fois. ça je ne veux pas.
Si en A1 on a “tarte aux poulets”
il faudrait diviser la cellule en B pour avoir B1 “tarte” B2 “aux” B3 “poulets”
Et ensuite faire REGEX(A1,"[B1]?[B2]?"[B3]?";;“g”) —> (j’ai pas vérifié la syntaxe)

C’est infaisable?

Oui. Il n’existe pas de formule universelle qui retournera un résultat précis parmis tant d’autres qui soit différent d’une recherche à l’autre.

REGEX(B2;"[[tarte]?[aux]?[poulets]?]?”;;"g")

retournera TRUE uniquement aux cellules de recherches contenant :
“tarte”
“tarte aux”
“tarte poulets”
“tarte aux poulets”
“aux”
“aux poulets”
“poulets”

et FALSE aux autres cellules contenant du texte et appartenant à la plage de recherche.

Enfin, il y a * mais il retournera tous les résultats à chaque fois.

Je suis un peu perdu…
Sur l’onglet “conversion recette” je dois mettre l’ingrédient et il doit chercher dans “cuisine” l’ingrédient correspondant… mais au final ta formule ne contient pas le changement d’onglet?

le regex va chercher si B2 contient les mots “tarte” “aux” “poulet” n’est ce pas? Si oui, je ne comprends pas comment ça peut résoudre le soucis