[Résolu] expression régulière dans une fonction

Discussions à propos du tableur Calc.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Avatar de l’utilisateur
R.A.
Membre lOOyal
Membre lOOyal
Messages : 31
Inscription : 17 mars 2006 17:37
Localisation : Paname

[Résolu] expression régulière dans une fonction

Message par R.A. »

Bonjour,
après avoir recherché via google (où j'ai pu trouvé REGEX.COMP qui me servira peut être dans une macro un jour mais qui n'est pas une fonction),

après avoir lu les post :
http://user.services.openoffice.org/fr/ ... ssion.html
http://user.services.openoffice.org/fr/ ... c2770.html
http://user.services.openoffice.org/fr/ ... html#14887,

le doute subsiste....

Peut-on ou non insèrer dans une fonction une expression régulière ?
En relisant les différents descriptifs sur
http://christianwtd.free.fr/index.php?r ... s01#FnSTXT,
je me rends vite compte que =STXT(texte; début; nombre) me permettra de répondre à la question qu'un ami m'a posé mais nous souhaitons tout de même avoir la certitude que les expressions rationnelles ne pourront être utilisées que dans une macro.

Merci pour toute infirmation ou confirmation.
Dernière modification par R.A. le 15 mars 2007 11:40, modifié 2 fois.
OOo 2.2.0
Win XP SP 2, ThunderBird, Firefox
--
R.A. aka Rouge Ardent.
"
- N'oublie pas, mon fils ! Quoi qu'on veuille te faire croire, le coeur est un muscle qui pompe du sang, pas des sentiments !
"
Vandeput
Membre enthOOusiaste
Membre enthOOusiaste
Messages : 409
Inscription : 12 févr. 2007 14:33
Localisation : Bruxelles

Message par Vandeput »

Bonjour,

Et si tu donnais un exemple pour clarifier ta demande ?
andré
2.2 sous Windows XP
Jeff
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 10007
Inscription : 18 sept. 2006 09:40
Localisation : France

Message par Jeff »

Bonjour,

On peut effectivement insérer une expression régulière dans une formule ; voir ce post : http://user.services.openoffice.org/fr/ ... c3729.html où figure 2 exemples.

Pour la liste des expressions régulières, voir l'aide d'OOoCalc, critère de recherche expressions régulières, qui sont prisent en charge dans les fonctions de recherches et de base de données.

A +

Sur le site de Christian, consulte tout spécialement cette page : http://christianwtd.free.fr/index.php?r ... nCHERCHEex
À lire avant tout !

Pour télécharger Apache OpenOffice

AOO 4.1.16 / Debian 13 "Trixie" / Xfce
AOO 4.1.15 / Debian 11 "Bullseye" / Cinnamon
Avatar de l’utilisateur
R.A.
Membre lOOyal
Membre lOOyal
Messages : 31
Inscription : 17 mars 2006 17:37
Localisation : Paname

Message par R.A. »

Merci beaucoup ! Le doute ne subsiste plus !
Nous recherchions l'insertion de REGEXP pour cet exemple :
bee032M dans la cellule A1
=SI(TYPE(TROUVE("M";A1))=1;"Mâle";"Femelle") dans la cellule B1

Ce qui marchait très bien dans un cas très précis mais qui n'est absolument pas robuste !
STXT() avec un CHERCHE() et une REGEXP tel que présenté à cet URL
http://christianwtd.free.fr/index.php?r ... nCHERCHEex
est ce qu'il nous manquait.

Encore merci beaucoup !
OOo 2.2.0
Win XP SP 2, ThunderBird, Firefox
--
R.A. aka Rouge Ardent.
"
- N'oublie pas, mon fils ! Quoi qu'on veuille te faire croire, le coeur est un muscle qui pompe du sang, pas des sentiments !
"
Jeff
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 10007
Inscription : 18 sept. 2006 09:40
Localisation : France

Message par Jeff »

Pour reprendre ton exemple, bee032M étant ta référence produit, si tu veux trouver un M précédé de 3 chiffres, puis affecter Mâle ou Femelle, tu peux utiliser la syntaxe suivante :

Code : Tout sélectionner

=SI(ESTERREUR(CHERCHE("[:digit:]{3}M";A1));"Femelle";"Mâle")
A + :wink:
À lire avant tout !

Pour télécharger Apache OpenOffice

AOO 4.1.16 / Debian 13 "Trixie" / Xfce
AOO 4.1.15 / Debian 11 "Bullseye" / Cinnamon