# Fonctions de texte

{% hint style="success" %}
Les fonctions sur les formules sont disponibles dans chacune des sous-pages dédiées :&#x20;

* [operateurs](operateurs "mention")
* [fonctions-de-texte](fonctions-de-texte "mention")
* [fonctions-mathematiques](fonctions-mathematiques "mention")
* [fonctions-de-date](fonctions-de-date "mention")
* [fonctions-de-formatage](fonctions-de-formatage "mention")
* [fonctions-de-liste](fonctions-de-liste "mention")
* [fonctions-sur-des-champs-ksaar](fonctions-sur-des-champs-ksaar "mention")
* [fonctions-de-logique-et-autres](fonctions-de-logique-et-autres "mention")

Des exemples de formules prêtes à l'emploi se trouvent ici : [bibliotheque-de-formules-classiques](bibliotheque-de-formules-classiques "mention")
{% endhint %}

<details>

<summary>CHAR</summary>

#### Résumé

La fonction `CHAR` renvoie le caractère correspondant à un code numérique donné.

#### Syntaxe

* `CHAR(code)`

#### Exemple

* `CHAR(65)` → `A`

</details>

<details>

<summary>CODE</summary>

#### Résumé

La fonction `CODE` renvoie le code numérique d'un caractère donné.

#### Syntaxe

* `CODE(caractère)`

#### Exemple

* `CODE("A")` → `65`

</details>

<details>

<summary>CONCATENATE</summary>

#### Résumé

La fonction `CONCATENATE` ou `&` concatène (fusionne) plusieurs chaînes de caractères en une seule.

#### Syntaxe

* `CONCATENATE(texte1, [texte2, ...])`
* `texte1 & texte2`

#### Exemple

* `CONCATENATE("Hello", " ", "world")` → `Hello world`
* `"Hello" & " " & "world"` → `Hello world`

</details>

<details>

<summary>DECODE_URL</summary>

#### Résumé

La fonction `DECODE_URL` décode une URL encodée pour la rendre lisible.

#### Syntaxe

* `DECODE_URL(urlEncodé)`

#### Exemple

* `DECODE_URL("Hello%20world")` → `Hello world`

</details>

<details>

<summary>ENCODE_URL</summary>

#### Résumé

La fonction `ENCODE_URL` encode du texte pour qu'il puisse être utilisé dans une URL.

#### Syntaxe

* `ENCODE_URL(url)`

#### Exemple

* `ENCODE_URL("Hello world")` → `Hello%20world`

</details>

<details>

<summary>FIND</summary>

#### Résumé

La fonction `FIND` permet de chercher un élément dans une liste et de retourner la position de la première occurence. La fonction permet aussi de chercher une chaîne de caractères à l'intérieur d'une autre. Contrairement à `SEARCH`, cette fonction est sensible à la casse.

#### Syntaxe

* `FIND(liste, recherche, positionDébut = 1)`

#### Exemple

* `FIND("b", ["a","b","c","a","b","c"])` → `2`
* `FIND("world", "Hello world")` → `7`
* `FIND("WORLD", "Hello world")` → `0`

</details>

<details>

<summary>JOIN</summary>

#### Résumé

La fonction `JOIN` joint plusieurs chaînes de caractères en une seule, en utilisant un séparateur.

#### Syntaxe

* `JOIN(séparateur, element1, [element2, ...])`

#### Exemple

* `JOIN("-", "Hello", "world", "!")` → `Hello-world-!`

</details>

<details>

<summary>LEFT</summary>

#### Résumé

La fonction `LEFT` renvoie un nombre spécifié de caractères de la chaîne de caractères à partir de la gauche.

#### Syntaxe

* `LEFT(texte, nombre)`

#### Exemple

* `LEFT("Hello", 3)` → `Hel`

</details>

<details>

<summary>LEN</summary>

#### Résumé

La fonction `LEN` renvoie le nombre de caractères dans une chaîne de caractères, ou le nombre d'éléments dans une liste.

#### Syntaxe

* `LEN(texte)`
* `LEN(liste)`

#### Exemple

* `LEN("Hello")` → `5`
* `LEN([4, 5, 6])` → `3`

</details>

<details>

<summary>LOWER</summary>

#### Résumé

La fonction `LOWER` transforme tous les caractères d'une chaîne de caractères en minuscules.

#### Syntaxe

* `LOWER(texte)`

#### Exemple

* `LOWER("HELLO")` → `hello`

</details>

<details>

<summary>MID</summary>

#### Résumé

La fonction `MID` renvoie une sous-chaîne d'une chaîne de caractères, en commençant à une position spécifiée et d'une longueur spécifiée.

#### Syntaxe

* `MID(texte, début, longueur)`

#### Exemple

* `MID("Hello", 2, 3)` → `ell`

</details>

<details>

<summary>PROPER</summary>

#### Résumé

La fonction `PROPER` met la première lettre de chaque mots d'un texte en majuscule.

#### Syntaxe

* `PROPER(texte)`

#### Exemple

* `PROPER("hello WORLD")` → `Hello World`

</details>

<details>

<summary>REGEX_EXTRACT</summary>

#### Résumé

La fonction `REGEX_EXTRACT` extrait les correspondances d'une expression régulière dans une chaîne de caractères.

Vous pouvez retrouver la documentation sur les expressions régulières [ici](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_expressions).

#### Syntaxe

* `REGEX_EXTRACT(texte, expression_régulière)`

#### Exemple

* `REGEX_EXTRACT("Hello123world", "\d+")` → `123`

</details>

<details>

<summary>REGEX_MATCH</summary>

#### Résumé

La fonction `REGEX_MATCH` vérifie si une chaîne de caractères correspond à une expression régulière donnée.

Vous pouvez retrouver la documentation sur les expressions régulières [ici](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_expressions).

#### Syntaxe

* `REGEX_MATCH(texte, expression_régulière)`

#### Exemple

* `REGEX_MATCH("Hello123", "\d+")` → `true`

</details>

<details>

<summary>REGEX_REPLACE</summary>

#### Résumé

La fonction `REGEX_REPLACE` remplace le texte qui correspond à une expression régulière par du texte donné.

Vous pouvez retrouver la documentation sur les expressions régulières [ici](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_expressions).

#### Syntaxe

* `REGEX_REPLACE(texte, expression_régulière, remplacement)`

#### Exemple

* `REGEX_REPLACE("Hello123", "\d+", "!")` → `Hello!`

</details>

<details>

<summary>REPLACE</summary>

#### Résumé

La fonction `REPLACE` remplace une partie d'une chaîne de caractères, en commençant à une position spécifiée et d'une longueur spécifiée, par une autre.

#### Syntaxe

* `REPLACE(texte, début, longueur, nouveauTexte)`

#### Exemple

* `REPLACE("Hello", 2, 3, "world")` → `Hworldo`

</details>

<details>

<summary>RIGHT</summary>

#### Résumé

La fonction `RIGHT` renvoie un nombre spécifié de caractères de la chaîne de caractères à partir de la droite. Contrairement à `FIND`, cette fonction n'est pas sensible à la casse.

#### Syntaxe

* `RIGHT(texte, nombre)`

#### Exemple

* `RIGHT("Hello", 3)` → `llo`

</details>

<details>

<summary>SEARCH</summary>

#### Résumé

La fonction `SEARCH` recherche une chaîne de caractères à l'intérieur d'une autre et renvoie la position de la première occurrence.

#### Syntaxe

* `SEARCH(recherche, texte)`

#### Exemple

* `SEARCH("world", "Hello world")` → `7`
* `SEARCH("WORLD", "Hello world")` → `7`

</details>

<details>

<summary>SPLIT</summary>

#### Résumé

La fonction `SPLIT` divise une chaîne de caractères en plusieurs chaînes, basées sur un séparateur.

#### Syntaxe

* `SPLIT(texte, caractère)`

#### Exemple

* `SPLIT("Hello-world", "-")` → `["Hello", "world"]`

</details>

<details>

<summary>SUBSTITUTE</summary>

#### Résumé

La fonction `SUBSTITUTE` remplace du texte par du nouveau texte dans une chaîne de caractères.

#### Syntaxe

* `SUBSTITUTE(texte, ancienTexte, nouveauTexte, occurrence = -1)`

#### Exemple

* `SUBSTITUTE("world world", "world", "Hello", 1)` → `Hello world`

</details>

<details>

<summary>TRIM</summary>

#### Résumé

La fonction `TRIM` supprime les espaces inutiles dans une chaîne de caractères et garde uniquement un espace entre chaque mots.

#### Syntaxe

* `TRIM(texte)`

#### Exemple

* `TRIM(" Hello ")` → `Hello`

</details>

<details>

<summary>UPPER</summary>

#### Résumé

La fonction `UPPER` transforme tous les caractères d'une chaîne de caractères en majuscules.

#### Syntaxe

* `UPPER(texte)`

#### Exemple

* `UPPER("hello")` → `HELLO`

</details>
