Comment insérer des espaces avant les lettres majuscules dans Excel ?
Mettre correctement en forme les données dans Excel est essentiel pour garantir clarté et facilité d’analyse, surtout lorsqu’on manipule du texte importé ou concaténé dépourvu de lisibilité. Une situation courante ? Des chaînes de caractères où les mots sont collés sans espaces, comme « DataFormattingTool », ce qui complique leur lecture et leur traitement. Insérer un espace avant chaque lettre majuscule permet de séparer clairement les mots, rendant ainsi vos feuilles de calcul plus conviviales et professionnelles — que ce soit pour interpréter les données ou les partager. Ce guide vous propose plusieurs méthodes pratiques pour ajouter rapidement des espaces avant chaque majuscule dans Excel, afin que vos données restent toujours bien organisées et faciles à gérer, quel que soit le contexte.

Insérer des espaces avant chaque lettre majuscule dans Excel
Insérer des espaces avant chaque lettre majuscule avec une formule (Excel 2019 et versions ultérieures)
Utiliser des formules Excel est une méthode simple et fiable pour insérer des espaces avant les lettres majuscules. Elle ne requiert aucune compétence en programmation ni outil supplémentaire, et convient particulièrement aux utilisateurs souhaitant automatiser cette tâche grâce aux fonctions intégrées d’Excel. La méthode suivante tire parti des fonctions modernes de tableaux dynamiques et de manipulation de texte disponibles dans Excel 2019, Excel 2021 et Microsoft 365.
Scénario d’application : Idéal pour les utilisateurs équipés de versions récentes d’Excel qui recherchent une solution rapide, basée sur des formules, et souhaitent éviter le VBA ou les compléments. Cette méthode a l’avantage de s’actualiser automatiquement dès que les cellules sont modifiées ou lorsqu’on y colle de nouvelles données, mais elle n’est pas compatible avec les anciennes versions d’Excel.
Pour la mettre en œuvre, suivez ces étapes :
1. Copiez-collez la formule suivante dans une cellule vide (par exemple, la cellule B2 si vos textes originaux se trouvent en A2), puis appuyez sur Entrée pour obtenir le premier résultat dans Excel 365 ou 2021. Pour Excel 2019, utilisez Ctrl+Maj+Entrée afin de l’appliquer comme une formule matricielle :
=TRIM(LEFT(A2,1) & TEXTJOIN("", TRUE, IF(CODE(MID(A2, ROW(INDIRECT("2:" & LEN(A2))), 1))>=65, IF(CODE(MID(A2, ROW(INDIRECT("2:" & LEN(A2))), 1))<=90, " "&MID(A2, ROW(INDIRECT("2:" & LEN(A2))), 1), MID(A2, ROW(INDIRECT("2:" & LEN(A2))), 1)), MID(A2, ROW(INDIRECT("2:" & LEN(A2))), 1))))
2. Après avoir obtenu le premier résultat, faites glisser la poignée de recopie vers le bas pour appliquer la formule aux autres lignes selon vos besoins. Le résultat affichera votre texte original avec des espaces insérés avant chaque lettre majuscule.

- GAUCHE(A2;1) : Renvoie le premier caractère de la chaîne inchangé, évitant ainsi un espace inutile au début.
- INDIRECT("2:" & NBCAR(A2)) : Génère une séquence qui fait référence à chaque caractère suivant par sa position, du deuxième caractère jusqu’à la fin.
- STXT(A2;LIGNE(...);1) : extrait un caractère à la fois en fonction de sa position.
- CODE(...): Évalue chaque caractère extrait pour vérifier sa valeur ASCII ; les valeurs comprises entre 65 et 90 correspondent aux lettres majuscules de l’alphabet latin (A-Z).
- JOINDRE.TEXTE(«»;VRAI;...): Concatène chaque caractère en insérant un espace devant les lettres majuscules et ignore tout texte vide lorsque VRAI est spécifié.
- SUPPRESPACE(...): Supprime les espaces en début et à la fin qui pourraient être ajoutés au cours du processus.
Remarque : Des erreurs peuvent survenir si la cellule d’origine est vide ou contient des valeurs non textuelles. Pour des résultats optimaux, assurez-vous que vos données sont au format texte. Lorsque vous recopiez la formule, vérifiez que les références de cellules sont correctes et ajustez-les si vos données commencent à une ligne ou une colonne différente.
Insérer des espaces avant chaque lettre majuscule avec Kutools pour Excel
« Kutools pour Excel » propose une méthode très efficace pour insérer des espaces avant chaque lettre majuscule dans toute votre plage sélectionnée. Sa fonctionnalité intégrée « Ajouter du texte » simplifie considérablement le processus, offrant une solution pratique aux utilisateurs souhaitant accomplir cette tâche en quelques clics, sans avoir à mémoriser des formules complexes ni à recourir au code.
Scénario d’application : Cette solution est idéale pour les utilisateurs qui manipulent fréquemment de grands volumes de données, privilégient une interface graphique ou ne se sentent pas à l’aise avec les formules et le code. Elle permet des opérations rapides en lot tout en réduisant les risques d’erreurs liées aux formules. La seule condition requise est d’avoir Kutools pour Excel installé.
1. Sélectionnez la plage de cellules dans laquelle vous souhaitez insérer des espaces avant les lettres majuscules, puis accédez au menu « Kutools » > « Texte » > « Ajouter du texte ». La boîte de dialogue correspondante s’ouvre alors.
2. Dans la boîte de dialogue « Ajouter du texte », saisissez un espace dans le champ « Texte », puis activez l’option « Ajouter uniquement à » et sélectionnez « Avant les lettres majuscules » dans le menu déroulant.
3. Cliquez sur « OK » pour appliquer les modifications. Un espace sera inséré avant chaque lettre majuscule de votre sélection, comme illustré ci-dessous :
Précautions :
- Vérifiez attentivement votre sélection, car cette opération s’applique directement à vos données. Nous vous recommandons de conserver une sauvegarde avant d’utiliser des fonctions de modification par lots.
- Cette fonction respecte la casse et ne prend en compte que les lettres majuscules (A-Z).
Insérer des espaces avant chaque lettre majuscule avec une fonction définie par l’utilisateur
Pour les utilisateurs recherchant davantage de flexibilité ou une solution réutilisable pour un traitement personnalisé, la création d’une fonction définie par l’utilisateur (UDF) en VBA permet d’implémenter une logique précise afin d’insérer des espaces avant les lettres majuscules. Cette approche préserve toute la dynamique de votre feuille de calcul, puisque la fonction se comporte comme n’importe quelle autre formule Excel et s’actualise automatiquement.
Avantages : Offre une personnalisation totale et peut être réutilisée dans différents classeurs si vous copiez le code.
Inconvénients : Nécessite des connaissances de base en éditeur VBA. Les formules utilisant des fonctions personnalisées (UDF) peuvent ne pas fonctionner dans tous les environnements Excel, notamment dans Excel en ligne ou lorsqu’elles sont soumises à certaines restrictions liées aux macros.
1. Ouvrez la feuille de calcul contenant les chaînes de texte à traiter.
2. Appuyez sur ALT + F11 pour ouvrir l’éditeur Microsoft Visual Basic pour Applications (VBA).
3. Dans l’éditeur VBA, cliquez sur « Insertion » > « Module ». Copiez-collez le code suivant dans la fenêtre du module nouvellement créé.
Code VBA : Insérer des espaces avant les lettres majuscules
Function AddSpaces(pValue As String) As String
'Updateby Extendoffice
Dim xOut As String
xOut = VBA.Left(pValue, 1)
For i = 2 To VBA.Len(pValue)
xAsc = VBA.Asc(VBA.Mid(pValue, i, 1))
If xAsc >= 65 And xAsc <= 90 Then
xOut = xOut & " " & VBA.Mid(pValue, i, 1)
Else
xOut = xOut & VBA.Mid(pValue, i, 1)
End If
Next
AddSpaces = xOut
End Function
4. Enregistrez votre projet, puis fermez l’éditeur VBA. Revenez à votre feuille de calcul. Dans une cellule vide adjacente à vos données (par exemple, B2 si vos données se trouvent en A2), saisissez la formule suivante et appuyez sur Entrée :
=addspaces(A2) Faites glisser la poignée de recopie de la cellule vers le bas pour appliquer la formule UDF à toute votre liste. Chaque chaîne de texte affichera alors des espaces insérés avant chaque lettre majuscule, conformément à la conception.

Conseils et dépannage :
- Pour conserver la fonction définie par l’utilisateur après la réouverture du fichier, enregistrez le classeur dans un format prenant en charge les macros (*.xlsm ou *.xlsb).
- Les modifications apportées à vos données textuelles mettent automatiquement à jour le résultat de la fonction définie par l’utilisateur.
- Les fonctions définies par l’utilisateur ne sont pas prises en charge dans Excel en ligne ni dans certains environnements restreints en matière de macros.
Insérer des espaces avant chaque lettre majuscule avec du code VBA
Si vous recherchez une solution capable de traiter une vaste plage de données en une seule opération et d’appliquer des modifications permanentes directement dans votre feuille de calcul, une macro VBA s’impose comme un choix idéal. Cette approche convient particulièrement aux utilisateurs avancés ou aux opérations ponctuelles de nettoyage, puisqu’elle agit directement sur les cellules sélectionnées.
Avantages : Traite efficacement de grands ensembles de données sans avoir à saisir des formules directement dans les cellules, tout en vous offrant un contrôle accru sur celles que vous souhaitez traiter.
Points à considérer : Comme cette méthode modifie directement vos données, effectuez toujours une sauvegarde avant d’exécuter la macro. Les macros peuvent être désactivées par défaut dans certains classeurs pour des raisons de sécurité : activez-les si nécessaire pour poursuivre.
1. Appuyez sur ALT + F11 pour ouvrir la fenêtre « Microsoft Visual Basic pour Applications ».
2. Cliquez sur « Insertion » > « Module », puis copiez le code suivant dans la fenêtre du module :
Code VBA : Insérer des espaces avant les lettres majuscules
Sub AddSpacesRange()
'Updateby Extendoffice
Dim Rng As Range
Dim WorkRng As Range
Dim xOut As String
Dim xValue As String
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
For Each Rng In WorkRng
xValue = Rng.Value
xOut = VBA.Left(xValue, 1)
For i = 2 To VBA.Len(xValue)
xAsc = VBA.Asc(VBA.Mid(xValue, i, 1))
If xAsc >= 65 And xAsc <= 90 Then
xOut = xOut & " " & VBA.Mid(xValue, i, 1)
Else
xOut = xOut & VBA.Mid(xValue, i, 1)
End If
Next
Rng.Value = xOut
Next
Application.ScreenUpdating = True
End Sub 3. Appuyez sur la touche « F5 » ou cliquez sur le bouton « Exécuter » pour lancer la macro. Une boîte de dialogue s’ouvre alors pour vous permettre de sélectionner la plage à modifier.
4. Après avoir sélectionné la plage et cliqué sur « OK », la macro insère immédiatement des espaces avant toutes les lettres majuscules dans les cellules choisies.
Remarques pour le dépannage :
- Si la macro semble ne rien faire, assurez-vous d’avoir bien sélectionné la plage souhaitée et que les macros sont activées dans les paramètres d’Excel.
- Cette opération est irréversible une fois exécutée. En cas de doute, utilisez une sauvegarde.
- La macro est optimisée pour les lettres majuscules de l’alphabet latin (A-Z). Les résultats peuvent varier selon les caractères non standards ou les alphabets localisés.
Quelle que soit la méthode choisie, insérer des espaces avant chaque lettre majuscule dans Excel améliorera considérablement la lisibilité de vos chaînes de caractères. Chaque approche s’adapte à des scénarios précis : les formules pour des calculs dynamiques, Kutools pour une automatisation conviviale, les fonctions personnalisées (UDF) pour leur réutilisabilité, et le code VBA pour des opérations massives puissantes. Avant d’appliquer l’une de ces techniques à grande échelle, vérifiez toujours vos données et conservez une sauvegarde des valeurs d’origine afin d’éviter toute perte accidentelle lors du traitement. En cas d’erreur, relisez attentivement chaque étape de votre procédure et assurez-vous que votre version d’Excel prend en charge les fonctions ou le code utilisés. Pour découvrir davantage de stratégies de résolution de problèmes et de conseils pratiques sous Excel,parcourez notre vaste collection de tutoriels.
Article associé :
Comment ajouter automatiquement des espaces après les virgules dans Excel ?
Meilleurs outils de productivité Office
Boostez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée.Kutools pour Excel propose plus de 300 fonctionnalités avancées pour améliorer votre productivité et Gagner du temps.Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office et rend votre travail bien plus facile
- Activez l’édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de 50 % et vous fait économiser des centaines de clics de souris chaque jour !
Tous les compléments Kutools. Un seul installateur
Kutools for Office regroupe les compléments pour Excel, Word, Outlook et PowerPoint, ainsi que Office Tab Pro, ce qui en fait le choix idéal pour les équipes travaillant à travers les applications Office.
- Suite tout-en-un— Compléments Excel, Word, Outlook et PowerPoint + Office Tab Pro
- Un seul installateur, une seule licence— installation en quelques minutes (compatible MSI)
- Fonctionne mieux ensemble— productivité optimisée dans toutes les applications Office
- Essai gratuit de 30 jours avec toutes les fonctionnalités— aucune inscription, aucune carte bancaire
- Meilleur rapport qualité-prix— économisez par rapport à l’achat de compléments individuels