[fr-users] RE: [fr-users] RE: [fr-users] expression régulière et critère de recherche

2021-10-06 Par sujet Nicolas BUONOMO 755
Bonjour,

Le critère dans la fonction NB.SI doit être une chaîne de caractères, 
l’utilisation de "bonjour_a"|"bonjour_a_b" n’est pas permise et conduit à une 
erreur dans la cellule, l’expression régulière à utiliser est 
"bonjour_a|bonjour_a_b", qui ne compte que les bonjour_a.

Voici un extrait de la documentation de la fonction NB.SI.ENS :

Utilisation des expressions régulières et des fonctions imbriquées
Pour que ces exemples fonctionnent comme décrits, assurez-vous que Activer les 
expressions régulières dans les formules est sélectionné dans Outils - Options 
- LibreOffice Calc - Calculer.
=NB.SI.ENS(B2:B6;"[:alpha:]*")

Bonne journée

Nicolas

De : Ocleyr2lalune 
Envoyé : vendredi 1 octobre 2021 20:34
À : Nicolas BUONOMO 755 
Cc : Jean-Luc ; users@fr.libreoffice.org
Objet : Re: [fr-users] RE: [fr-users] expression régulière et critère de 
recherche


Bonjour

c'est "juste" que vous avez un usage impropre de l'expression régulière.

https://help.libreoffice.org/latest/fr/text/shared/01/0211.html

Soit "L'opérateur infixe délimitant les alternatives. Correspond au terme 
précédant le "|" ou le terme suivant le "|". Par exemple, "ceci | cela" 
correspond aux occurrences de "ceci" et "cela"."

ok, donc c'est un OU dans une fonction logique comme nb.si, pour signifier un 
ou dans les critères on utilise (généralement) la fonction OU. Et c'est tout.

D'ailleurs, quand dans un nb.si on saisit l'expression régulière en question 
("bonjour_a"|"bonjour_a_b"), l'opérateur est remplacé par un ;

Hors ça ne correspond pas à la syntaxe de la formule.



Bref, pour tester l'expression régulière, utilisez la fonction de recherche / 
remplacement.

Vous constaterez que les 2 expressions que vous proposez sont bien équivalentes 
et fonctionnent parfaitement

Claire

Le 2021-10-01 15:11, Nicolas BUONOMO 755 a écrit :
Merci Jean-Luc pour ce retour,

Tes explications m’apporte de nouvelle interrogations ! Effectivement, si 
l’expression bonjour_a|bonjour_a_b remonté toutes les occurrences de bonjour_a, 
elle devrait aussi compter les bonjour_a dans bonjour_a_b, mais ce n’est pas le 
cas, l’implémentation dans LibreOffice semble considérer que nous sommes 
implicitement sur des mots entiers.

Pour mon cas pratique, c’est la solution bonjour_a(_b){0,1} ou moins précis 
bonjour.*, qui me permettent d’atteindre le comportement que j’attends. Mais je 
m’interroge plus largement sur la sémantique et le fonctionnement des 
expressions régulières dans LibreOffice.

Bonne après-midi

Nicolas

De : Jean-Luc 
mailto:jeanluc.tourneb...@gmail.com>>
Envoyé : jeudi 30 septembre 2021 16:25
À : Nicolas BUONOMO 755 
mailto:nicolas.buon...@cnaf.fr>>
Cc : users@fr.libreoffice.org
Objet : Re: [fr-users] expression régulière et critère de recherche

Bonjour
ça me semble correct, mais je ne sais pas bien l'expliquer.

Je pense en effet que lorsqu'on a trouvé bonjour_a, on ne recherche pas 
boujour_a_b
Lorsqu'on commence par boujour_a_, si on ne trouve pa, on cherche  boujour_a et 
on trouve éventuellement

Il ne faut pas croire que x ou y est équivalent à y ou x dans ce cas.

Il doit y avoir une façon plus élégante d'écrire la condition et qui évite 
cette confusion.

Bonne soirée


[https://secure-web.cisco.com/1GaapeMwXR6esPqh0x5xxsBdP9YR5287yRXd_ZiIjfz6hz05fa-jcxqBmzzg56ozmD3Lo5VMUlDt4oni4NYkVXWppg2cD5cykMf0WAUe7wnMNGOU6nNui4EECGxsJbDJ3HHYjeiCimUVzFUEJd3ExK9F5WoqOSUpIjFGOAgPH_e-RllCZ63GTXRbo_zJFeM4B6Q6hdgz1oH3bG3ZHUdeZGcWm-Yx4B02Tb]
Garanti sans virus. 

[fr-users] Re: [fr-users] RE: [fr-users] expression régulière et critère de recherche

2021-10-02 Par sujet yves dutrieux
Bonjour,



Le ven. 1 oct. 2021 à 18:38, Nicolas BUONOMO 755 
a écrit :

> Merci Jean-Luc pour ce retour,
>
> Tes explications m’apporte de nouvelle interrogations ! Effectivement, si
> l’expression bonjour_a|bonjour_a_b remonté toutes les occurrences de
> bonjour_a, elle devrait aussi compter les bonjour_a dans bonjour_a_b, mais
> ce n’est pas le cas, l’implémentation dans LibreOffice semble considérer
> que nous sommes implicitement sur des mots entiers.
>
Oui bizarre, probablement que tu as raison pour les mots entier.
de mémoire, les expressions régulières sont toujours évaluées depuis la fin
en repartant vers le début de la ligne.
En forçant via "bonjour_a$|bonjour_a_b$" cela fonctionne correctement aussi.

>
> Pour mon cas pratique, c’est la solution bonjour_a(_b){0,1} ou moins
> précis bonjour.*, qui me permettent d’atteindre le comportement que
> j’attends. Mais je m’interroge plus largement sur la sémantique et le
> fonctionnement des expressions régulières dans LibreOffice.
>

bonjour_a(_b)* fonctionne aussi ;)

Bonne journée.
Yves

>
> Bonne après-midi
>
> Nicolas

-- 
Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire
Les archives de la liste sont disponibles à 
https://listarchives.libreoffice.org/fr/users/
Privacy Policy: https://www.documentfoundation.org/privacy