Chapitre 2 · Intermédiaire · Leçon 10 / 26
Fonctions de texte
Tu récupères un export, une liste de contacts, un fichier client, et c'est le chaos : des « JEAN dupont » à côté de « marie Curie », des espaces qui traînent, un nom et un prénom collés dans la même cellule. Avant de pouvoir trier, filtrer ou rechercher, il faut remettre ce texte en ordre. Les fonctions de texte font ce travail automatiquement, sur des milliers de lignes, sans retoucher une cellule à la main.
Les fonctions de texte transforment une chaîne de caractères sans la réécrire à la main : nettoyer, découper, recoller. Le modèle mental tient en trois verbes. Nettoyer : enlever ce qui dérange (espaces, casse). Extraire : prendre un morceau précis. Assembler : recoller plusieurs bouts en un seul. Presque tout besoin sur du texte se range dans l'une de ces trois cases.
Le réflexe à prendre
Avant tout traitement de texte, nettoie d'abord avec SUPPRESPACE. Un espace invisible en fin de cellule fait échouer la moitié des recherches et des comparaisons. C'est la cause numéro un des « ça ne marche pas » sur les données importées.
Assembler : coller plusieurs textes
Le besoin le plus courant : réunir un nom et un prénom, fabriquer un identifiant, construire une phrase à partir de plusieurs cellules. Deux outils pour ça, selon le nombre de morceaux à coller.
L'esperluette & est la plus directe. Tu colles les morceaux bout à bout avec le signe &, et tout texte fixe (espaces, virgules) se met entre guillemets.
=B2&" "&A2Avec le prénom en B2 et le nom en A2, cette formule renvoie « Jean Dupont » avec un espace au milieu. Recopie-la vers le bas, toute la liste se reconstruit ligne après ligne.
CONCAT prend le relais sur une plage entière. Quand tu as beaucoup de cellules à coller, elle t'évite de répéter les & un par un.
=CONCAT(A1:E1)Cette formule colle d'un coup tout le contenu de A1 à E1. Sa cousine TEXTE.JOINDRE va plus loin en ajoutant un séparateur automatique entre chaque élément.
Extraire : prendre un morceau de texte
L'opération inverse : isoler une partie d'une chaîne. Un code postal dans une adresse, le domaine d'une adresse e-mail, les initiales d'un nom. Trois fonctions se partagent le travail, selon l'endroit où se trouve le morceau.
GAUCHE prend les premiers caractères d'une chaîne. =GAUCHE(A1;3) ramène les 3 premiers : un préfixe, un code, un indicatif. À l'opposé, DROITE prend les derniers : =DROITE(A1;4) garde les 4 derniers caractères, par exemple une année, une extension ou un suffixe.
STXT, elle, pioche au milieu. Tu lui donnes la position de départ puis le nombre de caractères à prendre : =STXT(A1;3;5) part du 3e caractère et en récupère 5. C'est la plus souple des trois, dès que le morceau cherché n'est ni au début ni à la fin.
Nettoyer : espaces et casse
Des données propres se trient, se comparent et se recherchent sans surprise. Deux familles de nettoyage reviennent tout le temps : les espaces parasites et la casse incohérente.
Pour les espaces, SUPPRESPACE fait le ménage. =SUPPRESPACE(A1) retire les espaces de début et de fin, et réduit les espaces doubles à l'intérieur à un seul, sans toucher aux espaces simples entre les mots. C'est le geste indispensable sur tout import.
Pour la casse, trois fonctions selon le rendu voulu. =NOMPROPRE(A1) met une majuscule au début de chaque mot, idéale pour normaliser des noms : « jean DUPONT » devient « Jean Dupont ». MAJUSCULE bascule tout en capitales, MINUSCULE tout en bas de casse.
Chercher et remplacer dans le texte
Deux besoins liés : savoir où se trouve un caractère dans une chaîne, et échanger un texte contre un autre sur toute une colonne.
Pour trouver une position, CHERCHE et TROUVE. =CHERCHE("@";A1) renvoie la position du « @ » dans une adresse. CHERCHE ignore la casse, TROUVE la respecte. Ces deux fonctions servent surtout à repérer un séparateur juste avant une extraction.
Pour remplacer, SUBSTITUE. =SUBSTITUE(A1;"-";" ") change chaque tiret en espace. Contrairement au Rechercher-Remplacer du menu, la formule se recopie sur toute la colonne et se met à jour automatiquement quand les données changent.
Exemple travaillé : séparer « Nom Prénom » en deux colonnes
Le cas classique : une colonne A contient « Dupont Jean », et tu veux le nom d'un côté, le prénom de l'autre. C'est l'occasion de voir les fonctions travailler ensemble.
| A | B | C | |
|---|---|---|---|
| 1 | Nom complet | Nom | Prénom |
| 2 | Dupont Jean | Dupont | Jean |
| 3 | Curie Marie | Curie | Marie |
Le texte brut est en colonne A. L'objectif : remplir les colonnes B et C automatiquement, en repérant l'espace qui sépare le nom du prénom, puis en découpant de part et d'autre.
1. Repérer l'espace qui sépare les deux
=CHERCHE(" ";A2)CHERCHE renvoie la position de l'espace, par exemple 7 pour « Dupont Jean ». C'est le point de découpe.
2. Extraire le nom (avant l'espace)
=GAUCHE(A2;CHERCHE(" ";A2)-1)GAUCHE prend tous les caractères jusqu'à l'espace, moins un pour ne pas l'inclure. Résultat : « Dupont ».
3. Extraire le prénom (après l'espace)
=DROITE(A2;NBCAR(A2)-CHERCHE(" ";A2))DROITE prend le reste : la longueur totale (NBCAR) moins la position de l'espace. Résultat : « Jean ».
Questions fréquentes sur les fonctions de texte
Le plus simple est l'opérateur & : =A1&" "&B1 colle le contenu de A1, un espace et celui de B1. La fonction CONCAT fait pareil sur une plage entière : =CONCAT(A1:C1). L'esperluette reste la plus rapide pour deux ou trois éléments avec des séparateurs.
Trois fonctions découpent une chaîne : GAUCHE prend les premiers caractères, DROITE les derniers, STXT un morceau au milieu en précisant la position de départ et le nombre de caractères. Combinées à CHERCHE pour repérer un séparateur, elles extraient un prénom, un code ou un domaine.
SUPPRESPACE retire les espaces de début, de fin et les espaces doubles à l'intérieur, sans toucher aux espaces simples entre les mots. C'est le premier réflexe pour nettoyer des données importées : un espace invisible en fin de cellule fait échouer la plupart des recherches et des comparaisons.
MAJUSCULE convertit tout en capitales, MINUSCULE tout en bas de casse, et NOMPROPRE met une majuscule au début de chaque mot. NOMPROPRE est idéale pour normaliser des noms saisis n'importe comment, par exemple « jean DUPONT » qui devient « Jean Dupont ».
Les deux renvoient la position d'un texte dans un autre. CHERCHE ignore la casse et accepte les caractères génériques, TROUVE distingue majuscules et minuscules et ne les accepte pas. En pratique, CHERCHE convient à la plupart des besoins ; TROUVE sert quand la casse compte vraiment.
SUBSTITUE remplace chaque occurrence d'un texte par un autre : =SUBSTITUE(A1;"-";" ") transforme les tirets en espaces. Contrairement à un remplacement manuel, la formule se recopie sur toute une colonne et se met à jour si les données changent.
Tu veux dompter les données texte pour de bon ?
Le Dojo Club te donne accès à des exercices guidés sur le nettoyage et l'extraction de texte, des lives experts chaque semaine et une communauté active pour transformer tes exports en données propres.
Rejoindre le Dojo