Menu

Supprimer les espaces dans Excel : SUPPRESPACE et EPURAGE

=SUPPRESPACE(A2) supprime les espaces avant et après le texte de A2 et réduit les suites d'espaces entre les mots à une seule. SUBSTITUE supprime toutes les espaces ou les espaces insécables que SUPPRESPACE laisse passer.

Chaque feuille de cette page est interactive : modifiez un nombre ou une formule et elle se recalcule.

=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).

Supprimer les espaces en trop
B2
ABCD
1NameTRIMLength beforeLength after
2 Ana Silva Ana Silva149
3Ben Okafor Ben Okafor1310
4 Chen WuChen Wu107
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =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 :

Une espace à la fin empêche la correspondance
D3
ABCD
1NameScoreIs it Ana?Ana's score
2Ana 90FALSEnot found
3Ben85TRUE90
4Chen78
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =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 :

SUPPRESPACE ou supprimer toutes les espaces
B2
ABC
1CodeTRIMNo spaces
2 AB 12 34 AB 12 34AB1234
3555 201 3344555 201 33445552013344
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =SUPPRESPACE(A2)
Nettoyer les noms des clients
B2
AB
1CustomerClean name
2 Eli Novak
3Fay Ruiz
4Gus Lee
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.

À 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 :

Corriger les espaces insécables
D2
ABCDE
1Pasted textLengthCode of 4th characterFixedFixed length
2Ana Silva 10160Ana Silva9
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =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)) :

EPURAGE, puis SUPPRESPACE
B2
ABC
1ImportedCLEANTRIM(CLEAN)
2 Ana Silva AnaSilva AnaSilva
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =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 :

  1. Mettez =SUPPRESPACE(A2) dans une colonne vide à côté des données et recopiez-la vers le bas.
  2. Copiez cette colonne (Ctrl+C, Cmd+C sur un Mac).
  3. 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.
  4. 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.

Illustration des langages de programmation de Coddy

Apprendre à coder avec Coddy

COMMENCER