Comment supprimer les espaces dans une cellule Excel
Une RECHERCHEV qui renvoie #N/A, un tri incohérent, une jointure Power Query qui ne matche pas alors que les valeurs ont l’air identiques : dans Excel, un simple espace peut suffire à casser tout le traitement. Le bon réflexe n’est pas de corriger cellule par cellule, mais de choisir la méthode adaptée au vrai problème : cellule unique, colonne entière, espaces en début ou fin, espace insécable copié depuis le web, ou nettoyage automatisé.
Dans cet article, je vais droit au pratique : tu vas voir quoi faire avec SUPPRESPACE, quand passer à SUBSTITUE, comment nettoyer une plage complète, et à quel moment une macro VBA ou Power Query devient plus fiable qu’une formule.
Le plus souvent, ces espaces ne viennent pas d’Excel mais des imports CSV, des copier-coller de pages web et des listes clients récupérées depuis plusieurs outils. Le caractère semble banal à l’œil, mais pas pour Excel.
En pratique, choisis les formules quand tu veux vérifier le résultat ligne par ligne, Power Query pour les imports récurrents, et VBA quand une équipe doit lancer le nettoyage en un clic sur des fichiers hétérogènes.
Supprimer les espaces dans une cellule avec SUPPRESPACE et SUBSTITUE
Si tu dois nettoyer une cellule Excel, il faut d’abord identifier quel type d’espace te gêne. SUPPRESPACE ne fait pas la même chose que SUBSTITUE, et c’est justement cette différence qui permet d’éviter les formules inutiles.
Cas 1 : nettoyer une cellule standard
Quand une cellule contient des espaces en trop au début, à la fin, ou plusieurs espaces entre les mots, commence par :
=SUPPRESPACE(A2)
Exemple :
- A2 contient
" Marie Dupont " - le résultat devient
"Marie Dupont"
C’est la formule la plus sûre pour normaliser des noms, villes, adresses ou intitulés de poste. Si tu veux approfondir le sujet, consulte aussi la fonction SUPPRESPACE et ses applications. Microsoft classe TRIM/SUPPRESPACE parmi les fonctions natives de nettoyage, précisément pour retirer les espaces superflus tout en gardant un texte lisible dans sa documentation officielle.
Cas 2 : supprimer tous les espaces
Si ton objectif est de retirer chaque espace, y compris entre les mots, SUPPRESPACE ne suffit pas. Il faut utiliser la fonction SUBSTITUE :
=SUBSTITUE(A2;" ";"")
Exemple :
- A2 contient
"AB 123 45" - le résultat devient
"AB12345"
C’est utile pour créer :
- des références produit sans blanc ;
- des identifiants ;
- des clés de rapprochement ;
- des valeurs à injecter dans un autre système qui refuse les séparateurs.
Cas 3 : traiter seulement les espaces de début et de fin
C’est souvent là qu’il y a confusion. SUPPRESPACE ne se limite pas aux bords de la cellule : il retire aussi les espaces multiples au milieu pour n’en garder qu’un seul. Donc :
- si tu veux nettoyer proprement un texte,
SUPPRESPACEest le bon choix ; - si tu veux préserver exactement les espaces internes mais enlever seulement ceux du début ou de la fin, la formule seule devient moins directe et le cas mérite souvent Power Query ou VBA.
Exemple utile :
" 12 rue Victor Hugo "avec=SUPPRESPACE(A2)devient"12 rue Victor Hugo"- si tu voulais conserver
"rue Victor"avec ses espacements internes exacts,SUPPRESPACEserait trop agressif.
C’est pour ça que je conseille SUPPRESPACE pour les données métier classiques, mais pas pour des contenus où les espacements internes ont une signification de mise en forme.
Cas 4 : combiner les fonctions pour viser un problème précis
Quand le nettoyage ne tient pas en une seule formule, combine les fonctions :
- retirer les espaces insécables puis nettoyer :
=SUPPRESPACE(SUBSTITUE(A2;CAR(160);" ")) - supprimer tous les espaces visibles :
=SUBSTITUE(A2;" ";"") - contrôler le nombre de caractères avant/après :
=NBCAR(A2)puis=NBCAR(B2) - retirer un caractère ou une séquence au milieu :
=SUBSTITUE(A2;"-";"")ou=REMPLACER(A2;4;3;"")selon que tu connais le texte à enlever ou sa position
NBCAR sert de test rapide : si le nombre baisse après nettoyage, la cellule contenait bien un parasite invisible ou un espace redondant.
Mini-tableau : problème > formule > résultat
| Problème | Formule | Résultat |
|---|---|---|
Nom avec espaces en trop : " Jean Martin " |
=SUPPRESPACE(A2) |
"Jean Martin" |
Adresse avec espace insécable : "10 Rue Pasteur" |
=SUPPRESPACE(SUBSTITUE(A2;CAR(160);" ")) |
"10 Rue Pasteur" |
Référence produit à compacter : "REF 202 XL" |
=SUBSTITUE(A2;" ";"") |
"REF202XL" |
Code avec tirets à retirer : "AB-12-34" |
=SUBSTITUE(A2;"-";"") |
"AB1234" |
Retirer un bloc au milieu de "CLI-2026-PARIS" |
=REMPLACER(A2;4;6;"") |
"CLIPARIS" |
Appliquer la formule sur une colonne entière
Pour nettoyer une colonne complète :
- ajoute une colonne à droite de la donnée source ;
- saisis la formule en première ligne, par exemple
=SUPPRESPACE(A2)en B2 ; - double-clique sur la poignée de recopie en bas à droite de B2 pour recopier jusqu’à la dernière ligne remplie ;
- si tu veux remplacer la colonne d’origine, copie ensuite la colonne B puis colle en Valeurs sur la colonne A.
Sur une petite liste, c’est immédiat. Sur plusieurs milliers de lignes, c’est aussi la méthode qui garde un avant/après visible avant de valider le nettoyage.
Cas particuliers : espaces insécables, caractères invisibles et suppression partielle
Tous les blancs ne se valent pas. C’est le piège le plus fréquent : un caractère peut ressembler à un espace classique, mais être en réalité un espace insécable ou un autre caractère non visible. Dans ce cas, la formule change.
Enlever les espaces insécables que SUPPRESPACE laisse passer
L’espace insécable est très courant après un copier-coller depuis un site web, un PDF ou un email. Visuellement, il ressemble à un espace normal. Techniquement, Excel ne le traite pas toujours comme tel.
Formule fiable :
=SUPPRESPACE(SUBSTITUE(A2;CAR(160);" "))
Cette formule fait deux choses :
- elle remplace d’abord
CAR(160)par un espace standard ; - elle applique ensuite
SUPPRESPACEpour nettoyer le reste.
Exemple :
- A2 contient
"M. Durand"avec un espace insécable entreM.etDurand - le résultat devient
"M. Durand"
Comment détecter un caractère invisible
Si une cellule résiste au nettoyage, vérifie sa longueur :
=NBCAR(A2)pour compter les caractères ;- compare avec ce que tu penses voir à l’écran ;
- teste ensuite
=CODE(STXT(A2;2;1))ou sur la position suspecte pour identifier le caractère.
Si Excel retourne 160, tu es face à un espace insécable. C’est un cas fréquent sur des colonnes d’adresses ou de civilités copiées depuis un navigateur.
Supprimer seulement une partie des caractères dans une cellule
Quand il ne s’agit pas de nettoyer tous les espaces mais de retirer une portion précise d’un texte, choisis la fonction selon le besoin.
1. Retirer une séquence connue
Pour enlever un bloc précis, utilise SUBSTITUE.
=SUBSTITUE(A2;" - FR";"")
"Produit 125 - FR"devient"Produit 125"
2. Retirer des caractères à une position donnée
Si tu connais l’emplacement, REMPLACER est plus direct.
=REMPLACER(A2;5;5;"")
"REF-1234-A"devient"REF-A"
3. Extraire seulement la partie utile
Utilise GAUCHE, DROITE ou STXT.
=GAUCHE(A2;3)pour garder les 3 premiers caractères ;=DROITE(A2;4)pour garder les 4 derniers ;=STXT(A2;6;5)pour extraire 5 caractères à partir de la position 6.
Exemple concret :
"CLI 2026 PARIS"=STXT(A2;5;4)renvoie"2026"=GAUCHE(A2;3)renvoie"CLI"
Nettoyer tes données sans aucune formule
Les formules, c’est bien, mais on n'a pas toujours envie de créer une colonne supplémentaire juste pour un petit nettoyage. Parfois, on veut juste corriger les données sur place et passer à autre chose.
Heureusement, Excel a plus d'un tour dans son sac. Voici deux outils incroyablement efficaces pour faire le ménage directement dans tes cellules.
L'art du Rechercher et Remplacer (Ctrl+H)
Si tu ne l'utilises pas déjà, le raccourci Ctrl+H (Contrôle+H sur Mac) va vite devenir ton meilleur ami. C'est le moyen le plus direct pour supprimer des espaces sur Excel sans colonne additionnelle.
Voici la méthode pour nettoyer un export de CRM :
- Sélectionne la plage de cellules à corriger.
- Appuie sur
Ctrl+Hpour ouvrir la fenêtre "Rechercher et remplacer". - Dans le champ "Rechercher", tape deux espaces.
- Dans le champ "Remplacer par", tape un seul espace.
- Clique sur "Remplacer tout".
Excel t'indiquera combien de remplacements il a effectués. Répète l'opération en cliquant à nouveau sur "Remplacer tout" jusqu'à ce qu'Excel ne trouve plus rien à remplacer. En deux ou trois clics, tous les espaces doubles superflus entre les mots ont disparu.
Le Remplissage instantané : la magie d'Excel en action
Le Remplissage instantané (Flash Fill) est l'une des fonctionnalités les plus bluffantes d'Excel. C'est comme si un assistant intelligent observait ce que tu fais pour le reproduire à ta place.
Imaginons une colonne A avec des noms de clients en désordre, comme " Durand , Marie". Ton objectif est d'obtenir "Marie Durand" dans la colonne B.
- Dans la cellule
B2, à côté de ta première donnée (A2), tape manuellement le résultat attendu :Marie Durand. Valide avec Entrée. - Place-toi sur la cellule du dessous (
B3) et commence à taper le début du résultat pour la ligne suivante. - Magie ! Excel comprend le schéma (inverser, retirer la virgule, supprimer les espaces) et te propose une prévisualisation grisée pour toute la colonne.
- Appuie simplement sur Entrée pour valider. Le travail est fait.
Voici le Remplissage instantané en quelques secondes dans cette vidéo :
Automatise le nettoyage de tes imports avec Power Query

Maintenant, passons à la vitesse supérieure. Si tu jongles régulièrement avec des exports CSV de ton ERP ou des listes de prospects, le nettoyage manuel est une perte de temps. C'est là que Power Query entre en jeu. C'est ton arme secrète pour automatiser tout le processus.
Une fois que tu y auras goûté, impossible de revenir en arrière. On va construire ensemble un flux de nettoyage intelligent qui bossera pour toi, en pilote automatique.
Tutoriel pour nettoyer tes espaces, étape par étape
Situation : Chaque lundi, tu reçois un export de ventes avec des noms de produits truffés d'espaces. Voici comment régler le problème une bonne fois pour toutes.
- Ouvre tes données dans Power Query
- Dans Excel, va dans l'onglet Données > À partir d'un fichier texte/CSV.
- Sélectionne ton fichier et clique sur Transformer les données. L'éditeur Power Query s'ouvre.
- Applique la transformation "Supprimer les espaces"
- Sélectionne la ou les colonnes qui posent problème (ex: "Nom du Produit").
- Fais un clic droit sur l'en-tête d'une colonne.
- Navigue vers Transformer, puis clique sur Supprimer les espaces.
Contrairement à
SUPPRESPACE(), cette action retire les espaces de début et de fin mais garde les espaces doubles au milieu du texte. Tu verras l'étape "Espaces supprimés" apparaître à droite. Pour réduire les espaces doubles, ajoute un Remplacer les valeurs de deux espaces par un seul, à répéter tant qu'il en reste.
- Pour aller plus loin : supprimer TOUS les espaces
- Pour créer un identifiant unique sans aucun espace, fais un clic droit sur l'en-tête, puis choisis Remplacer les valeurs.
- Dans Valeur à rechercher, tape un espace. Laisse Remplacer par vide. Clique sur OK. C'est la réplique de
SUBSTITUE().
- Dans Valeur à rechercher, tape un espace. Laisse Remplacer par vide. Clique sur OK. C'est la réplique de
- Charge le résultat impeccable dans Excel
- Clique sur Fermer et charger en haut à gauche.
- Tes données, parfaitement propres, s'affichent dans une nouvelle feuille.
Le vrai tour de force ? La semaine prochaine, remplace l'ancien fichier par le nouveau (même nom, même emplacement), puis fais un clic droit sur ton tableau de résultats dans Excel et clique sur Actualiser. Toutes les étapes s'exécuteront instantanément. Fini le travail répétitif.
Une fois que tu as éliminé les espaces, la prochaine étape logique est souvent de s'attaquer aux doublons. Pour aller plus loin et garantir une base de données irréprochable, découvre comment supprimer les doublons efficacement.
Mettre les mains dans le code : ta propre macro de nettoyage VBA
Pour nettoyer rapidement des imports copiés depuis plusieurs sources, le VBA devient utile dès qu’une simple formule ne suffit plus ou qu’il faut agir directement sur la sélection. Mais il faut être précis sur un point : Trim en VBA ne supprime pas automatiquement tous les caractères invisibles. En particulier, il peut laisser passer l’espace insécable (Chr(160)), très fréquent après un copier-coller web.
Macro 1 : nettoyer une sélection en supprimant les espaces de début et de fin
Cette première macro convient à un nettoyage simple sur des cellules texte déjà relativement propres.
Sub NettoyerDebutFinSelection()
Dim Cellule As Range
If TypeName(Selection) <> "Range" Then Exit Sub
For Each Cellule In Selection
If Not IsEmpty(Cellule) And VarType(Cellule.Value) = vbString Then
Cellule.Value = Trim(Cellule.Value)
End If
Next Cellule
End Sub
Ce qu’elle fait :
- parcourt chaque cellule sélectionnée ;
- applique
Trim; - retire les espaces classiques de début et de fin.
Ce qu’elle ne fait pas toujours :
- elle ne règle pas correctement les espaces insécables ;
- elle n’identifie pas les autres caractères invisibles importés depuis le web.
Macro 2 : version renforcée avec traitement des espaces insécables
Pour un nettoyage plus fiable, remplace d’abord Chr(160) par un espace normal, puis applique Trim.
Sub NettoyerSelectionRenforcee()
Dim Cellule As Range
Dim Texte As String
If TypeName(Selection) <> "Range" Then Exit Sub
For Each Cellule In Selection
If Not IsEmpty(Cellule) And VarType(Cellule.Value) = vbString Then
Texte = Cellule.Value
Texte = Replace(Texte, Chr(160), " ")
Texte = Trim(Texte)
Cellule.Value = Texte
End If
Next Cellule
End Sub
C’est la version que je recommande quand un import vient d’un navigateur, d’un outil métier ou d’un copier-coller depuis un intranet. Dans ces cas-là, Trim seul donne souvent une fausse impression de nettoyage réussi.
Limite de Trim sur les caractères invisibles
La confusion vient du fait que Trim traite les espaces classiques, pas tous les caractères qui ressemblent à des espaces. Or un blanc visuel peut être codé autrement. Résultat : la cellule paraît propre, mais une comparaison, une recherche ou une jointure continue d’échouer.
C’est le scénario typique des colonnes de civilités, d’adresses ou de codes copiés depuis le web : on croit avoir supprimé l’espace, alors qu’on a seulement retiré les blancs standards. Pour ce type de données, préfère la version renforcée avec Chr(160), ou notre macro de nettoyage prête à coller, qui traite en plus l’insécable étroit, l’espace de largeur nulle et les sauts de ligne.
Cas pratique : une colonne d’import copiée depuis le web
Imaginons une colonne A contenant des libellés produits collés depuis un site marchand. Certaines cellules commencent ou finissent par un espace invisible, d’autres contiennent des espaces insécables au milieu.
Le bon enchaînement est :
- sélectionner la colonne concernée ;
- lancer la macro renforcée ;
- vérifier sur quelques cellules avec une formule
NBCARsi la longueur a changé ; - tester ensuite une recherche ou une correspondance.
Sur ce type d’import, VBA fait mieux qu’une correction manuelle, surtout si plusieurs personnes doivent appliquer la même règle de nettoyage sur des fichiers différents.
Variante : nettoyer une colonne entière sélectionnée
Si tu veux forcer le traitement de toute une colonne choisie par l’utilisateur, utilise cette version :
Sub NettoyerColonneSelectionnee()
Dim Cellule As Range
Dim Zone As Range
Dim Texte As String
If TypeName(Selection) <> "Range" Then Exit Sub
Set Zone = Selection.Columns(1)
For Each Cellule In Zone.Cells
If Not IsEmpty(Cellule) And VarType(Cellule.Value) = vbString Then
Texte = Cellule.Value
Texte = Replace(Texte, Chr(160), " ")
Texte = Trim(Texte)
Cellule.Value = Texte
End If
Next Cellule
End Sub
Cette variante est pratique pour le nettoyage massif d’une colonne d’import entière sans avoir à sélectionner une plage cellule par cellule.
Pour installer ces macros :
- ouvre l’éditeur avec
Alt + F11; - va dans
Insertion>Module; - colle le code ;
- exécute la macro avec
Alt + F8.
Si le monde des macros t'intrigue, notre outil pour créer ta première macro VBA est le point de départ idéal pour te lancer.
Quelle méthode choisir ? Le guide du coach
On vient de voir tout un arsenal de techniques. Mais concrètement, laquelle choisir et quand ? Voici un guide pratique pour piocher la bonne méthode sans perdre une minute.
Pour des corrections rapides et ponctuelles ?
Le duo Rechercher-Remplacer (Ctrl+H) ou le Remplissage Instantané est parfait. C'est direct, efficace, et idéal pour des ajustements à la volée.Quand il faut préserver les données originales ?
Les formules sont tes meilleures amies. UtiliseSUPPRESPACE()ouSUBSTITUE()dans une colonne voisine. C'est la méthode la plus sûre pour garder une traçabilité.Pour automatiser un nettoyage récurrent ?
Tu traites chaque mois le même type d'export ? Power Query est la solution la plus puissante. Configure le nettoyage une fois, et pour les prochains imports, tout se fera en un clic.Pour un contrôle total et des outils sur mesure ?
La macro VBA est la voie royale. Elle te permet de construire un processus de nettoyage personnalisé, déclenché par un simple bouton.
Choisis ton arme, entraîne-toi, et fais de la propreté des données ton nouveau super-pouvoir. C'est ce qui fait la différence entre un utilisateur occasionnel et un véritable expert d'Excel.
En résumé : Les points clés à retenir
- Pour un nettoyage standard, utilise la fonction
SUPPRESPACE(). Elle règle les espaces en trop au début, à la fin et entre les mots. - Pour un contrôle précis, comme supprimer TOUS les espaces, la fonction
SUBSTITUE()est ton alliée. - Pour des corrections rapides sans nouvelle colonne, pense au Rechercher-Remplacer (Ctrl+H) pour les doubles espaces.
- Pour automatiser le nettoyage de tes imports récurrents, lance-toi avec Power Query. C'est un gain de temps massif.
- Pour des besoins personnalisés et une efficacité maximale, une macro VBA est la solution ultime.
FAQ : Tes questions, mes réponses d'expert
1. Pourquoi SUPPRESPACE ne fonctionne pas toujours ?
Le cas le plus fréquent est l’espace insécable. Il ressemble à un espace classique, mais Excel ne le traite pas toujours comme tel. SUPPRESPACE nettoie les espaces standards de début, de fin et les répétitions internes, mais il peut échouer si la cellule contient CAR(160).
Formule à utiliser :
=SUPPRESPACE(SUBSTITUE(A1;CAR(160);" "))
Résultat attendu :
"Paris 75010"devient"Paris 75010"" M. Bernard "devient"M. Bernard"
Pour confirmer le diagnostic, teste =NBCAR(A1) avant et après nettoyage, ou identifie le caractère avec CODE sur la position suspecte.
2. Comment supprimer une partie des caractères dans une cellule Excel ?
Tout dépend de ce que tu veux retirer.
- Si tu connais le texte exact à enlever :
=SUBSTITUE(A1;"/FR";"")
"REF125/FR" devient "REF125"
- Si tu connais la position et la longueur :
=REMPLACER(A1;4;3;"")
"ABC123XYZ" devient "ABCXYZ"
Si tu veux garder seulement le début ou la fin :
=GAUCHE(A1;5)ou=DROITE(A1;4)Si tu veux extraire un bloc au milieu :
=STXT(A1;3;4)
"CLI2026PARIS" avec =STXT(A1;4;4) renvoie "2026"
C’est la bonne approche quand le problème n’est pas juste un espace, mais un segment de texte à isoler ou à supprimer.
3. Comment nettoyer une colonne entière sans toucher à la colonne d’origine ?
La méthode la plus sûre reste la colonne voisine :
- place la formule en B2, par exemple
=SUPPRESPACE(A2); - recopie jusqu’en bas ;
- contrôle quelques lignes ;
- colle ensuite les résultats en Valeurs si tu veux remplacer la source.
Pour des imports récurrents, je préfère Power Query ; pour une action directe dans la feuille, VBA devient plus pratique.
4. Comment enlever les espaces dans une colonne de nombres stockés en texte ?
Commence par nettoyer, puis convertis en nombre.
Formules utiles :
=CNUM(SUPPRESPACE(A1))=SUPPRESPACE(A1)*1
Exemple :
" 001245 "devient1245comme vraie valeur numérique
Si le nombre ne se convertit toujours pas, vérifie la présence d’un espace insécable avec :
=CNUM(SUPPRESPACE(SUBSTITUE(A1;CAR(160);" ")) )
J’espère que ce guide t’a aidé à choisir la bonne méthode sans tâtonner.