Difference between revisions of "FR/Documentation/Expressions Regulieres dans Calc"

From Apache OpenOffice Wiki
Jump to: navigation, search
(Expressions régulières dans Calc et Writer)
m
 
(16 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Documentation/FR/EnCours}}
 
{{Documentation/FR}}
 
 
== Introduction ==
 
== Introduction ==
 
En terme simple, les expressions régulières sont une facon astucieuse de trouver du texte ; par exemple pour situer toutes les cellules contenant '''me''' ou '''femme''' dans votre feuille de calcul, vous pouvez faire une recherche utilisant les expressions régulières.  
 
En terme simple, les expressions régulières sont une facon astucieuse de trouver du texte ; par exemple pour situer toutes les cellules contenant '''me''' ou '''femme''' dans votre feuille de calcul, vous pouvez faire une recherche utilisant les expressions régulières.  
Line 21: Line 19:
 
== Expressions régulières dans les fonctions Calc ==
 
== Expressions régulières dans les fonctions Calc ==
  
There are a number of functions in Calc which allow the use of regular expressions:
+
Il y a un certain nombre de fonctions dans Calc qui vous autorisent l'utilisation des expressions régulières :
  
''Plusieurs fonctions de Calc permettent l'utilisation des expressions régulières :''
 
 
<br>
 
<br>
'<b>[[Documentation/How_Tos/Calc: SUMIF function|SUMIF]]</b>',
+
'<b>[[Documentation/FR/Calc:_fonction_SOMME.SI|SOMME.SI]]</b>',
'<b>[[Documentation/How_Tos/Calc: COUNTIF function|COUNTIF]]</b>',<br>
+
'<b>[[Documentation/FR/Calc:_fonction_NB.SI|NB.SI]]</b>',<br>
'<b>[[Documentation/How_Tos/Calc: MATCH function|MATCH]]</b>',
+
'<b>[[Documentation/FR/Calc:_fonction_EQUIV|EQUIV]]</b>',
'<b>[[Documentation/How_Tos/Calc: SEARCH function|SEARCH]]</b>',
+
'<b>[[Documentation/FR/Calc:_fonction_CHERCHE|CHERCHE]]</b>',
'<b>[[Documentation/How_Tos/Calc: LOOKUP function|LOOKUP]]</b>',
+
'<b>[[Documentation/FR/Calc:_fonction_RECHERCHE|RECHERCHE]]</b>',
'<b>[[Documentation/How_Tos/Calc: HLOOKUP function|HLOOKUP]]</b>',
+
'<b>[[Documentation/FR/Calc:_fonction_RECHERCHEH|RECHERCHEH]]</b>',
'<b>[[Documentation/How_Tos/Calc: VLOOKUP function|VLOOKUP]]</b>',<br>
+
'<b>[[Documentation/FR/Calc:_fonction_BDMAX|BDMAX]]</b>',
'<b>[[Documentation/How_Tos/Calc: DCOUNT function|DCOUNT]]</b>',
+
'<b>[[Documentation/FR/Calc:_fonction_BDMIN|BDMIN]]</b>',
'<b>[[Documentation/How_Tos/Calc: DCOUNTA function|DCOUNTA]]</b>',
+
'<b>[[Documentation/FR/Calc:_fonction_BDMOYENNE|BDMOYENNE]]</b>',
'<b>[[Documentation/How_Tos/Calc: DSUM function|DSUM]]</b>',
+
'<b>[[Documentation/FR/Calc:_fonction_BDECARTYPE|BDECARTYPE]]</b>',
'<b>[[Documentation/How_Tos/Calc: DPRODUCT function|DPRODUCT]]</b>',<br>
+
'<b>[[Documentation/FR/Calc:_fonction_BDECARTYPEP|BDECARTYPEP]]</b>',
'<b>[[Documentation/How_Tos/Calc: DMAX function|DMAX]]</b>',
+
'<b>[[Documentation/FR/Calc:_fonction_BDVAR|BDVAR]]</b>',
'<b>[[Documentation/How_Tos/Calc: DMIN function|DMIN]]</b>',
+
'<b>[[Documentation/FR/Calc:_fonction_BDVARP|BDVARP]]</b>',<br>
'<b>[[Documentation/How_Tos/Calc: DAVERAGE function|DAVERAGE]]</b>',
+
'<b>[[Documentation/FR/Calc:_fonction_BDLIRE|BDLIRE]]</b>'
'<b>[[Documentation/How_Tos/Calc: DSTDEV function|DSTDEV]]</b>',
+
'<b>[[Documentation/How_Tos/Calc: DSTDEVP function|DSTDEVP]]</b>',
+
'<b>[[Documentation/How_Tos/Calc: DVAR function|DVAR]]</b>',
+
'<b>[[Documentation/How_Tos/Calc: DVARP function|DVARP]]</b>',<br>
+
'<b>[[Documentation/How_Tos/Calc: DGET function|DGET]]</b>'
+
  
 
+
Utiliser ou non les expressions régulières se paramètre par Outils > Options > OOo Calc > Calcul "Autoriser les caractères génériques dans les formules" :''
Whether or not regular expressions are used is selected on the Tools - Options - OpenOffice.org Calc - Calculate dialog:
+
 
+
''Utiliser ou non les expressions régulières se paramètre par Outils > Options > OOo Calc "Autoriser les caractères génériques dans les formules" :''
+
  
  
Line 54: Line 43:
  
  
For example ''''=COUNTIF(A1:A6;"r.d")'''' with "Enable regular expressions in formulas" selected will count cells in A1:A6 which contain ''''red'''' and ''''ROD''''. Additionally if "Search criteria = and <> must apply to whole cells" is ''not'' selected then ''''Fred'''', ''''bride'''', and ''''Ridge'''' will also be counted.
+
Par exemple ''''=NB.SI(A1:A6;"c.s")'''' avec "Autoriser les caractères génériques dans les formules" activé comptera les cellules dans A1:A6 qui contiennent ''''cas'''' et ''''CES''''. De plus, si "Critères de recherche = et <> doivent correspondre à des lignes entières" n'est ''pas'' coché, alors ''''Incas'''', ''''case'''', et ''''accuse'''' seront aussi comptés.
  
  
 
[[Image:Fr-calc-Expressions-reg2.png|Expressions régulières avec la fonction NB.SI]]
 
[[Image:Fr-calc-Expressions-reg2.png|Expressions régulières avec la fonction NB.SI]]
  
 +
La recherche avec expressions régulières '''à travers les fonctions''' se fait <u>toujours sans respecter la casse</u>, peu importe que la case à cocher "Respecter la casse" soit cochée ou non dans la boîte de dialogue - ainsi '''cas''' et '''CAS''' correpondront toujours dans l'exemple ci-dessus. Ce non respect de la casse s'applique aussi à la structure d'expressions régulières telles que ([:lower:]) et ([:upper:]) qui correspondra aux caractères sans respect de la casse.
  
Regular expression searches ''within functions'' are <u>always case insensitive</u>, irrespective of the setting of the "Case sensitive" check box on the dialog above - so ''''red'''' and ''''ROD'''' will always be matched in the above example. This case-insensitivity also applies to the regular expression structures ([:lower:]) and ([:upper:]), which match characters irrespective of case.
+
Les expressions régulières ne fonctionneront pas dans les comparaisons simples. Par exemple :
  
Regular expressions will not work in simple comparisons. For example:
+
' <b>A1="c.s"</b> ' renvoie toujours '''FAUX''' si A1 contient '<b>cas</b>', même si les expressions régulières sont activées - '''VRAI''' sera renvoyé uniquement si A1 contient '<b>c.s</b>' ('<b>c</b>' puis un <b>point</b> puis '<b>s</b>'). Si vous souhaitez tester en utilisant des expressions régulières, essayez la fonction '<b>NB.SI</b>' - '<b>NB.SI(A1; "c.s")</b>' renvoie '<b>1</b>' ou '<b>0</b>', interprété comme '''VRAI''' ou '''FAUX''' dans une formule comme '<b>=SI(NBSI(A1; "r.d");"houra"; "boo")</b>'
' <b>A1="r.d"</b> ' will always return '''FALSE''' if A1 contains '<b>red</b>', even if regular expressions are enabled - it will only return '''TRUE''' if A1 contains '<b>r.d</b>' ('<b>r</b>' then a <b>dot</b> then '<b>d</b>'). If you wish to test using regular expressions, try the '<b>COUNTIF</b>' function - '<b>COUNTIF(A1; "r.d")</b>' will return '<b>1</b>' or '<b>0</b>', interpreted as '''TRUE''' or '''FALSE''' in formulae like '<b>=IF(COUNTIF(A1; "r.d");"hooray"; "boo")</b>'
+
  
Activating the "Enable regular expressions in formulas" setting means all the above functions will require any regular expression special characters (such as parentheses) used in strings within formulas, to be "escaped" using a preceding backslash, despite not being part of a regular expression. These backslashes will need removing if the setting is later deactivated.
+
Activer la case à cocher "Autoriser les expressions régulières dans les formules" signifie que toutes les fonctions ci-dessus necessiteront n'importe quel caractère spécial d'expression régulière (comme les parenthèses) utilisé dans les chaînes à travers les formules, pouvant être "évité" en utilisant le backslash, bien qu'il ne fasse pas partie d'une expressions régulière. Ces caractères backslash devront être supprimés si le paramétrage est ensuite désactivé.
  
 
== Expressions régulières dans Calc, rechercher et remplacer ==
 
== Expressions régulières dans Calc, rechercher et remplacer ==
  
Find & Replace in Calc is very similar to Find & Replace in Writer, as described in the '<b>[[Documentation/How_Tos/Regular Expressions in Writer|HowTo for Regular Expressions in Writer]]</b>'. The following points are interesting to Calc users:
+
Rechercher & remplacer dans Calc est très similaire à Rechercher et remplacer dans Writer, comme décrit dans '<b>[[Documentation/FR/Expressions_Regulieres_dans_Writer|Expressions régulières dans Writer]]</b>'. Les points suivants sont intéressants pour les utilisateur de Calc :
 +
 
 +
* Lorsqu'une correspondance est trouvée, la cellule entière est mise en surbrillance, mais seul le texte trouvé sera remplacé. Par exemple en recherchant '<b>atre</b>', la cellule contenant '<b>terre rougeatre</b>' sera mise en surbrillance et en la remplaçant par rien, le contenu de la cellule restera '<b>terre rouge</b>'.
 +
* Si la cellule contient un retour à la ligne forcé (saisi avec Ctrl+Entrée), il sera trouvé avec '<b>\n</b>'. Par exemple, si une cellule contient '<b>terre retour_forcé veau</b>', alors rechercher avec '<b>e\nv</b>' et remplacer avec rien, aura pour résultat une cellule contenant '<b>terreau</b>'.
 +
* Le retour à la ligne forcé marque "la fin du texte" comme compris par le caractère spécial d'expression régulière '<b>$</b>' (en addition bien sûr de la fin du texte dans la cellule). Par exemple, si une cellule contient '<b>terre retour_forcé rouge</b>', alors une recherche sur '<b>e$</b>' remplacée par '<b>ain</b>', renverra une cellule dont le contenu est '<b>terrain retour_forcé rouge</b>'. Notez qu'avec cette syntaxe, le retour à la ligne forcé n'est pas remplacé - cela marque simplement la fin du texte.
 +
* L'utilisation de '<b>\n</b>' dans la zone 'Remplacer par' remplacera les caractères littéraux '<b>\n</b>' et non le retour à la ligne forcé.
 +
* La boîte de dialogue Rechercher et Remplacer a une opition pour rechercher dans les '<b>Formules</b>', '<b>Valeurs</b>', or '<b>Notes</b>'. Cela s'applique à n'importe quelle recherche, pas seulement à celle utilisant les expressions régulières. En recherchant avec l'options '<b>Formules</b>' activée, vous trouverez '<b>SOMME</b>' dans une cellule contenant la formule '<b>=SOMME(A1:A6)</b>'. Si une cellule contient du texte à la place d'une fonction, le texte sera également trouvé - ainsi le simple texte '<b>SOMMEIL</b>' dans une cellule donnera également une correspondance avec '<b>SOMME</b>' si la case '<b>Formules</b>' est activée.
 +
* La recherche avec l'expression régulière '<b>^$</b>' ne trouvera pas les cellules vides. C'est intentionnel - la raison étant d'éviter des problèmes de performance lorsqu'un grand nombre de cellules est sélectionné. Notez que les cellules vides ne sont pas trouvées même si vous faites une recherche sur une sélection.
 +
[[fr:Documentation/How_Tos/Expressions_Regulieres_dans_Calc]]
  
* When a match is found, the whole cell is shown highlighted, but only the text found will be replaced. For example, searching for '<b>brown</b>' will highlight a cell containing '<b>redbrown clay</b>', and replacing with nothing will leave the cell containg '<b>red clay</b>'.
+
[[Category:FR/Documentation/Calc|Expressions régulières]]
* If a cell contains a hard line break (entered by Cntrl-Enter), this may be found by '<b>\n</b>'. For example if a cell contains '<b>red hard_line_break clay</b>' then searching for '<b>d\nc</b>' and replacing with nothing leaves the cell containing '<b>relay</b>'.
+
* The hard line break acts to mark "end of text" as understood by the regular expression special character '<b>$</b>' (in addition of course to the end of text in the cell). For example if a cell contains '<b>red hard_line_break clay</b>' then a search for '<b>d$</b>' replacing with '<b>al</b>' leaves the cell with '<b>real hard_line_break clay</b>'. Note that with this syntax the hard line break is not replaced - it simply marks the end of text.
+
* Using '<b>\n</b>' in the 'Replace with' box will replace with the literal characters '<b>\n</b>', not a hard line break.
+
* The Find & Replace dialog has an option to search '<b>Formulas</b>', '<b>Values</b>', or '<b>Notes</b>'. This applies to any search, not just one using regular expressions. Searching with the '<b>Formulas</b>' option would find '<b>SUM</b>' in a cell containing the formula '<b>=SUM(A1:A6)</b>'. If a cell contains text instead of a function, the text will still be found - so that the simple text '<b>SUMMARY</b>' in a cell would also give a match to '<b>SUM</b>' using the '<b>Formulas</b>' option.
+
* Searching for the regular expression '<b>^$</b>' will not find empty cells. This is intentional - the rationale being to avoid performance issues when selecting a huge number of cells. Note that empty cells will not be found even if you are only searching a selection.
+
[[en:Documentation/How_Tos/Regular_Expressions_in_Calc]]
+

Latest revision as of 12:51, 6 May 2009

Introduction

En terme simple, les expressions régulières sont une facon astucieuse de trouver du texte ; par exemple pour situer toutes les cellules contenant me ou femme dans votre feuille de calcul, vous pouvez faire une recherche utilisant les expressions régulières.


Expressions régulières dans Calc et Writer

Les expressions régulières sont disponible dans Calc par :

  • Menu - Édition - boîte de dialogue 'Rechercher & remplacer'
  • Menu - Données - Filtre - Filtre Standard
  • Les fonctions, comme SOMME.SI, RECHERCHE

Le meilleur moyen d'apprendre a utiliser les expressions regulieres dans Calc est de commencer par comprendre comme utiliser le menu 'Rechercher & remplacer'. Ceci est couvert par 'Les expressions régulières dans Writer', que vous devriez lire.

Dans Calc, les expressions régulières sont appliquées séparément à chaque cellule (vous verrez que les expressions régulières sont appliquées séparément à chaque paragraphe dans Writer). Ainsi une recherche sur 'c.s' correspondra à cas dans la cellule A1 mais ne correspondra pas à 'c' dans la cellule A2 avec 's' (ou 'as') dans la cellule A3 (l'expression régulière 'c.s' signifie 'essaie de correspondre à 'c' suivi par un autre caractère suivi par 's' ').

Expressions régulières dans les fonctions Calc

Il y a un certain nombre de fonctions dans Calc qui vous autorisent l'utilisation des expressions régulières :


'SOMME.SI', 'NB.SI',
'EQUIV', 'CHERCHE', 'RECHERCHE', 'RECHERCHEH', 'BDMAX', 'BDMIN', 'BDMOYENNE', 'BDECARTYPE', 'BDECARTYPEP', 'BDVAR', 'BDVARP',
'BDLIRE'

Utiliser ou non les expressions régulières se paramètre par Outils > Options > OOo Calc > Calcul "Autoriser les caractères génériques dans les formules" :


Activer l'option 'expressions régulières dans Calc


Par exemple '=NB.SI(A1:A6;"c.s")' avec "Autoriser les caractères génériques dans les formules" activé comptera les cellules dans A1:A6 qui contiennent 'cas' et 'CES'. De plus, si "Critères de recherche = et <> doivent correspondre à des lignes entières" n'est pas coché, alors 'Incas', 'case', et 'accuse' seront aussi comptés.


Expressions régulières avec la fonction NB.SI

La recherche avec expressions régulières à travers les fonctions se fait toujours sans respecter la casse, peu importe que la case à cocher "Respecter la casse" soit cochée ou non dans la boîte de dialogue - ainsi cas et CAS correpondront toujours dans l'exemple ci-dessus. Ce non respect de la casse s'applique aussi à la structure d'expressions régulières telles que ([:lower:]) et ([:upper:]) qui correspondra aux caractères sans respect de la casse.

Les expressions régulières ne fonctionneront pas dans les comparaisons simples. Par exemple :

' A1="c.s" ' renvoie toujours FAUX si A1 contient 'cas', même si les expressions régulières sont activées - VRAI sera renvoyé uniquement si A1 contient 'c.s' ('c' puis un point puis 's'). Si vous souhaitez tester en utilisant des expressions régulières, essayez la fonction 'NB.SI' - 'NB.SI(A1; "c.s")' renvoie '1' ou '0', interprété comme VRAI ou FAUX dans une formule comme '=SI(NBSI(A1; "r.d");"houra"; "boo")'

Activer la case à cocher "Autoriser les expressions régulières dans les formules" signifie que toutes les fonctions ci-dessus necessiteront n'importe quel caractère spécial d'expression régulière (comme les parenthèses) utilisé dans les chaînes à travers les formules, pouvant être "évité" en utilisant le backslash, bien qu'il ne fasse pas partie d'une expressions régulière. Ces caractères backslash devront être supprimés si le paramétrage est ensuite désactivé.

Expressions régulières dans Calc, rechercher et remplacer

Rechercher & remplacer dans Calc est très similaire à Rechercher et remplacer dans Writer, comme décrit dans 'Expressions régulières dans Writer'. Les points suivants sont intéressants pour les utilisateur de Calc :

  • Lorsqu'une correspondance est trouvée, la cellule entière est mise en surbrillance, mais seul le texte trouvé sera remplacé. Par exemple en recherchant 'atre', la cellule contenant 'terre rougeatre' sera mise en surbrillance et en la remplaçant par rien, le contenu de la cellule restera 'terre rouge'.
  • Si la cellule contient un retour à la ligne forcé (saisi avec Ctrl+Entrée), il sera trouvé avec '\n'. Par exemple, si une cellule contient 'terre retour_forcé veau', alors rechercher avec 'e\nv' et remplacer avec rien, aura pour résultat une cellule contenant 'terreau'.
  • Le retour à la ligne forcé marque "la fin du texte" comme compris par le caractère spécial d'expression régulière '$' (en addition bien sûr de la fin du texte dans la cellule). Par exemple, si une cellule contient 'terre retour_forcé rouge', alors une recherche sur 'e$' remplacée par 'ain', renverra une cellule dont le contenu est 'terrain retour_forcé rouge'. Notez qu'avec cette syntaxe, le retour à la ligne forcé n'est pas remplacé - cela marque simplement la fin du texte.
  • L'utilisation de '\n' dans la zone 'Remplacer par' remplacera les caractères littéraux '\n' et non le retour à la ligne forcé.
  • La boîte de dialogue Rechercher et Remplacer a une opition pour rechercher dans les 'Formules', 'Valeurs', or 'Notes'. Cela s'applique à n'importe quelle recherche, pas seulement à celle utilisant les expressions régulières. En recherchant avec l'options 'Formules' activée, vous trouverez 'SOMME' dans une cellule contenant la formule '=SOMME(A1:A6)'. Si une cellule contient du texte à la place d'une fonction, le texte sera également trouvé - ainsi le simple texte 'SOMMEIL' dans une cellule donnera également une correspondance avec 'SOMME' si la case 'Formules' est activée.
  • La recherche avec l'expression régulière '^$' ne trouvera pas les cellules vides. C'est intentionnel - la raison étant d'éviter des problèmes de performance lorsqu'un grand nombre de cellules est sélectionné. Notez que les cellules vides ne sont pas trouvées même si vous faites une recherche sur une sélection.
Personal tools
In other languages