Comment trouver la position du nième espace dans une chaîne Excel ?
Lorsque vous travaillez avec des données textuelles dans Excel, il est courant de rencontrer des cellules contenant plusieurs mots séparés par des espaces. Vous aurez par exemple souvent besoin de repérer la position du premier ou du *n*ième espace dans chaque cellule afin de traiter ou d’extraire davantage d’informations à partir de vos chaînes. Localiser efficacement un espace spécifique s’avère particulièrement utile pour fractionner des noms, analyser des codes ou structurer vos données. Ce guide vous présente des méthodes pratiques pour identifier rapidement la position du premier, du deuxième ou de tout *n*ième espace dans le contenu de vos cellules, comme illustré dans la capture d’écran ci-dessous. Vous y découvrirez également comment supprimer les espaces indésirables et explorerez des solutions alternatives pour des opérations avancées et flexibles de localisation d’espaces.
Trouver la position du nième espace à l’aide d’une formule
Localiser le nième espace avec une formule Excel plus flexible
Trouver la position du nième espace avec une macro VBA
Supprimer les espaces en début/fin/supplémentaires/tous les espaces d’une chaîne![]()
Trouver la position du nième espace à l’aide d’une formule
Pour identifier la position d’un espace spécifique dans une chaîne de texte, utilisez les fonctions intégrées d’Excel. Chaque méthode présentée ci-dessous vous permet de repérer le 1er, 2e, 3e ou 4e espace en imbriquant la fonction TROUVE — une solution idéale lorsque le nombre d’espaces est limité et connu à l’avance.
| Trouver la position du premier espace | =FIND(« »,A1) |
| Trouver la position du deuxième espace | =FIND(« »,A1,FIND(« »,A1)+1) |
| Trouver la position du troisième espace | =FIND(« »,A1,FIND(« »,A1,FIND(« »,A1)+1)+1) |
| Trouver la position du quatrième espace | =FIND(« »,A1,FIND(« »,A1,FIND(« »,A1, FIND(« »,A1)+1)+1)+1) |
Par exemple, si vous souhaitez trouver la position du deuxième espace dans chaque cellule de votre liste, procédez comme suit :
Sélectionnez une cellule vide, telle que C2, et saisissez la formule suivante :
=FIND(" ",A2,FIND(" ",A2)+1) Après avoir saisi la formule, appuyez sur Entrée. Pour l’appliquer aux autres cellules, faites glisser la poignée de recopie vers le bas le long de votre liste : la position de chaque chaîne sera alors calculée automatiquement. Voir la capture d’écran :
Remarque : si une cellule contient moins d’espaces que prévu, la formule renvoie une erreur #VALEUR!. Pensez à vérifier vos données ou à utiliser des fonctions de gestion d’erreurs comme SIERREUR pour renforcer la robustesse.
Cette méthode est claire et rapide pour gérer un petit nombre fixe d’espaces. Pour les chaînes nécessitant la localisation de positions d’espaces plus élevées ou de valeurs dynamiques de *n*, optez pour la solution de formule plus flexible présentée ci-dessous.
Localiser le nième espace avec une formule Excel plus flexible
Si vous devez localiser la position du *n*ième espace dans une chaîne de texte sans avoir à imbriquer manuellement plusieurs fonctions TROUVE, combinez SUBSTITUE et TROUVE. Cette méthode vous permet d’ajuster dynamiquement la position cible de l’espace en modifiant simplement une référence de cellule ou une variable — une solution particulièrement efficace pour les chaînes longues ou les flux de travail Excel modulaires.
Par exemple, supposons que le texte complet se trouve en cellule A2 et que la position de l’espace à rechercher (par exemple, le 3e espace) soit indiquée en cellule B2 (saisissez la valeur souhaitée de n, telle que 3, en B2) :
=FIND("#",SUBSTITUTE(A2," ","#",B2)) Saisissez cette formule en cellule C2, puis copiez-la vers le bas pour analyser les autres lignes de votre jeu de données. La formule remplace le nième espace par le caractère « # », dont elle détermine ensuite la position à l’aide de la fonction TROUVE. Cette méthode s’avère particulièrement efficace lorsque la position cible de l’espace varie d’une ligne à l’autre ou lorsqu’on travaille avec des chaînes de texte plus complexes.
Conseils :
- Cette formule prend en charge des valeurs dynamiques de n, vous permettant ainsi de référencer une valeur différente de n (B2) pour chaque ligne.
- Si la valeur en B2 dépasse le nombre d’espaces présents dans la chaîne, le résultat sera #VALEUR!. Vous pouvez l’encapsuler avec
SIERREURpour une présentation plus conviviale, par exemple :=SIERREUR(CHERCHE("#",SUBSTITUE(A2," ","#",B2)),"Non trouvé"). - Remplacez le caractère « # » par un autre symbole si votre texte contient effectivement ce caractère.
Cette technique est recommandée pour gérer des valeurs de n variables, qu’elles soient nombreuses ou élevées, et favorise l’efficacité dans le traitement de structures de données plus complexes.
Trouver la position du nième espace avec une macro VBA
Dans les scénarios exigeant une flexibilité maximale ou lorsque vous souhaitez automatiser le traitement d’un grand volume de données, l’utilisation d’une macro VBA s’impose comme un choix idéal. Grâce à une solution VBA, vous pouvez analyser chaque caractère d’une chaîne, compter les espaces et renvoyer la position de l’occurrence souhaitée — même avec des structures textuelles variées, des phrases longues ou des valeurs de *n* qui évoluent dynamiquement.
1. Cliquez sur Outils de développement > Visual Basic. Lorsque la fenêtre Microsoft Visual Basic pour Applications s’ouvre, cliquez sur Insertion > Module, puis collez le code suivant dans le module :
Sub PositionOfNthSpace()
Dim txt As String
Dim spaceNum As Integer
Dim i As Integer
Dim cnt As Integer
Dim pos As Integer
On Error Resume Next
xTitleId = "KutoolsforExcel"
txt = Application.InputBox("Enter text to search:", xTitleId, "", Type:=2)
spaceNum = Application.InputBox("Find which space position (n):", xTitleId, 1, Type:=1)
pos = 0
cnt = 0
For i = 1 To Len(txt)
If Mid(txt, i, 1) = " " Then
cnt = cnt + 1
If cnt = spaceNum Then
pos = i
Exit For
End If
End If
Next i
If pos = 0 Then
MsgBox "The string does not contain " & spaceNum & " spaces.", vbExclamation, xTitleId
Else
MsgBox "The position of the " & spaceNum & "th space is: " & pos, vbInformation, xTitleId
End If
End Sub 2. Cliquez sur le
bouton Exécuter pour lancer la macro. Deux boîtes de dialogue s’affichent : la première vous invite à saisir votre chaîne de texte, la seconde à indiquer la position de l’espace à rechercher (par exemple, saisissez « 3 » pour le 3ᵉ espace). Si la position du caractère est trouvée, elle s’affiche ; sinon, une notification apparaît.
Cette méthode VBA s’avère particulièrement puissante lorsque les formules standard ne suffisent pas ou lorsqu’il s’agit de traiter par lots les positions des espaces dans des données textuelles variées.
Supprimer les espaces en début/fin/supplémentaires/tous les espaces d’une chaîne
Vous devez souvent nettoyer les espaces indésirables présents dans vos données textuelles : espaces en début ou en fin de cellule, espaces superflus entre les mots, voire tous les espaces. Excel ne propose pas de fonction intégrée permettant de supprimer ces espaces en masse, mais vous pouvez rationaliser cette tâche rapidement et avec précision grâce à Kutools pour Excel – une extension riche en fonctionnalités. L’utilitaire « Supprimer les espaces » est particulièrement efficace pour assainir les jeux de données importés ou mal formatés avant d’analyser ou de fractionner le texte selon les positions des espaces.
Après avoir installé gratuitementKutools pour Excel, procédez comme suit :
1. Sélectionnez les chaînes dans lesquelles vous souhaitez supprimer les espaces, puis cliquez sur Kutools > Texte > Supprimer les espaces. Voir la capture d’écran :
2. Dans la boîte de dialogue Supprimer les espaces, cochez l’option souhaitée sous Type d'espace, telle que « Supprimer les espaces avant », « Supprimer les espaces après », « Supprimer les espaces superflus » ou « Supprimer tous les espaces ». Vous pouvez prévisualiser le résultat dans la section Aperçu avant de confirmer. Voir la capture d’écran :
3. Cliquez sur OK ou Appliquer. Les espaces indésirables seront immédiatement supprimés des chaînes sélectionnées.
En résumé, que vous manipuliez de courtes listes ou de vastes ensembles de données, vous disposez d’une palette d’options — formules intégrées, approches flexibles par formules, macros VBA ou outils complémentaires — parfaitement adaptées à vos besoins. Lorsque le nombre d’espaces est connu et limité, l’imbrication de TROUVE donne d’excellents résultats ; pour des valeurs de *n* plus élevées ou variables, optez plutôt pour la combinaison SUBSTITUE et TROUVE, ou recourez à VBA pour une automatisation sur mesure. Pensez toujours à nettoyer vos chaînes des espaces superflus en amont afin de garantir des résultats fiables.
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