=SUPPRESPACE(A2) supprime toutes les espaces avant et après le texte de A2 et réduit chaque suite d'espaces entre les mots à une seule espace. " Ana Silva " devient Ana Silva. Dans un Excel anglais, SUPPRESPACE s'appelle TRIM ; le tableau affiche les formules sous cette forme anglaise, avec des virgules, mais vous pouvez aussi les taper comme dans un Excel français, avec des points-virgules : =SUPPRESPACE(A2).
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Name | TRIM | Length before | Length after |
| 2 | Ana Silva | Ana Silva | 14 | 9 |
| 3 | Ben Okafor | Ben Okafor | 13 | 10 |
| 4 | Chen Wu | Chen Wu | 10 | 7 |
=SUPPRESPACE(A2)Les espaces sont invisibles dans la colonne A, d'où les colonnes de longueur : NBCAR les compte. Les espaces en trop arrivent en général avec des données importées ou collées, et elles faussent les recherches et les comparaisons sans aucun signe visible.
Pourquoi les espaces en trop cassent les formules
Pour Excel, Ana avec une espace à la fin et Ana sont deux textes différents. Une comparaison renvoie FAUX, NB.SI ne compte pas la cellule, et une recherche renvoie #N/A :
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Name | Score | Is it Ana? | Ana's score |
| 2 | Ana | 90 | FALSE | not found |
| 3 | Ben | 85 | TRUE | 90 |
| 4 | Chen | 78 |
=RECHERCHEX("Ana";SUPPRESPACE(A2:A4);B2:B4;"not found")C2 vaut FAUX et D2 ne trouve rien (sans son quatrième argument, RECHERCHEX afficherait #N/A) parce que A2 contient Ana avec une espace. D3 nettoie toute la colonne de recherche à l'intérieur de la formule et trouve 90. Cela fonctionne dans Microsoft 365 et Excel 2021 ; dans les versions plus anciennes, nettoyez d'abord la colonne. Les espaces sont une des causes les plus fréquentes de #N/A dans une recherche.
Supprimer toutes les espaces
SUPPRESPACE garde toujours une espace entre les mots. Pour supprimer toutes les espaces, par exemple dans un numéro de téléphone ou un code produit, remplacez l'espace par rien :
| A | B | C | |
|---|---|---|---|
| 1 | Code | TRIM | No spaces |
| 2 | AB 12 34 | AB 12 34 | AB1234 |
| 3 | 555 201 3344 | 555 201 3344 | 5552013344 |
=SUPPRESPACE(A2)| A | B | |
|---|---|---|
| 1 | Customer | Clean name |
| 2 | Eli Novak | |
| 3 | Fay Ruiz | |
| 4 | Gus Lee |
À vous : Les noms de la colonne A ont des espaces en trop. En B2, renvoyez le nom de A2 sans espace autour et avec une seule espace entre les mots. La formule est recopiée jusqu'en B4.
SUPPRESPACE ne fonctionne pas : les espaces insécables
Le texte copié depuis une page web ou un PDF contient souvent des espaces insécables, le caractère 160, au lieu des espaces normales, le caractère 32. Elles se ressemblent, mais SUPPRESPACE ne supprime que le caractère 32, donc dans Excel rien ne change :
A2: Ana Silva (a non-breaking space between the names and one at the end)
=LEN(A2) 10
=LEN(TRIM(A2)) 10, TRIM removed nothing
La solution consiste à transformer d'abord chaque caractère 160 en espace normale avec SUBSTITUE, puis à laisser SUPPRESPACE faire le reste. Le texte de A2 ci-dessous est construit avec CAR(160) pour que vous voyiez le caractère qu'une page web colle :
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Pasted text | Length | Code of 4th character | Fixed | Fixed length |
| 2 | Ana Silva | 10 | 160 | Ana Silva | 9 |
=SUPPRESPACE(SUBSTITUE(A2;CAR(160);" "))C2 montre comment identifier un caractère inhabituel : CODE(STXT(A2;4;1)) renvoie le code du 4e caractère, ici 160. D2 a 9 caractères, les 10 de A2 moins l'espace finale.
EPURAGE : supprimer les retours à la ligne et autres caractères cachés
EPURAGE (CLEAN en anglais) supprime les caractères non imprimables de codes 0 à 31 : retours à la ligne (10), retours chariot (13) et tabulations (9). Elle ne touche pas aux espaces, donc la combinaison habituelle est =SUPPRESPACE(EPURAGE(A2)) :
| A | B | C | |
|---|---|---|---|
| 1 | Imported | CLEAN | TRIM(CLEAN) |
| 2 | Ana Silva | AnaSilva | AnaSilva |
=EPURAGE(A2)EPURAGE supprime purement et simplement le retour à la ligne, donc les deux noms se collent en AnaSilva . Quand un retour à la ligne sépare des mots, remplacez-le plutôt par une espace, =SUPPRESPACE(SUBSTITUE(A2;CAR(10);" ")) ; la page sur les retours à la ligne montre ce cas.
Remplacer la colonne d'origine par le texte nettoyé
SUPPRESPACE écrit son résultat dans une autre cellule. Pour corriger les données elles-mêmes :
- Mettez
=SUPPRESPACE(A2)dans une colonne vide à côté des données et recopiez-la vers le bas. - Copiez cette colonne (Ctrl+C, Cmd+C sur un Mac).
- Sélectionnez la colonne d'origine et utilisez Accueil > Coller > Coller des valeurs, pour que les cellules reçoivent du texte et non des formules.
- Supprimez la colonne d'aide.
Rechercher et remplacer peut supprimer des espaces sans formule, mais ne distingue pas les espaces de début de celles entre les mots : remplacer une espace par rien colle Ana Silva en AnaSilva. Remplacer deux espaces par une, en recommençant jusqu'à ce qu'Excel ne trouve plus rien à remplacer, est la version manuelle de la règle de SUPPRESPACE pour les espaces intérieures. Une espace isolée au début ou à la fin reste.
Questions fréquentes
Comment supprimer les espaces dans Excel ?
=SUPPRESPACE(A2) supprime les espaces au début et à la fin et laisse une seule espace entre les mots. Pour supprimer toutes les espaces, y compris entre les mots, utilisez =SUBSTITUE(A2;" ";"").
Pourquoi SUPPRESPACE ne supprime-t-elle pas les espaces ?
Ce sont probablement des espaces insécables (caractère 160), fréquentes dans le texte copié depuis des pages web. SUPPRESPACE ne supprime que l'espace normale, le caractère 32. Convertissez-les d'abord : =SUPPRESPACE(SUBSTITUE(A2;CAR(160);" ")).
Quelle est la différence entre SUPPRESPACE et EPURAGE ?
SUPPRESPACE supprime les espaces en trop. EPURAGE supprime les caractères non imprimables de codes 0 à 31, comme les retours à la ligne et les tabulations. =SUPPRESPACE(EPURAGE(A2)) fait les deux.
Comment remplacer la colonne d'origine par le texte nettoyé ?
Écrivez =SUPPRESPACE(A2) dans une colonne libre et recopiez-la vers le bas, copiez cette colonne, sélectionnez celle d'origine et utilisez Accueil > Coller > Coller des valeurs. Supprimez ensuite la colonne d'aide.