Comment extraire le texte situé avant ou après le deuxième espace ou la deuxième virgule dans Excel ?
Lorsque vous travaillez avec des données textuelles dans Excel, il vous arrive fréquemment de rencontrer des chaînes contenant plusieurs espaces, virgules ou autres délimiteurs. Bien que la fonctionnalité Texte en colonnes d’Excel permette de fractionner le contenu d’une cellule en colonnes distinctes selon un délimiteur choisi, il existe des cas où vous avez besoin d’une solution plus précise — comme extraire tout ce qui se trouve avant ou après le deuxième espace ou la deuxième virgule dans une cellule. Cet article présente plusieurs méthodes pratiques pour y parvenir : des formules ciblées pour extraire le texte avant ou après le deuxième espace ou la deuxième virgule, des solutions robustes grâce à des macros VBA pour automatiser le traitement ou gérer de grands volumes de données, ainsi que des options polyvalentes via Power Query pour un prétraitement avancé.

Extraire le texte avant le deuxième espace ou la deuxième virgule à l’aide d’une formule
Extraire le texte après le deuxième espace ou la deuxième virgule à l’aide d’une formule
Extraire le texte avant ou après le deuxième délimiteur (espace/virgule) avec du code VBA
Extraire le texte avant le deuxième espace ou la deuxième virgule à l’aide d’une formule
Pour isoler la partie d’une cellule située avant le deuxième espace, combinez plusieurs fonctions Excel.
1. Saisissez la formule suivante dans une cellule vide où vous souhaitez afficher le résultat (par exemple, la cellule)C2) :
=IF(ISERROR(FIND(" ",A2,FIND(" ",A2,1)+1)),A2,LEFT(A2,FIND(" ",A2,FIND(" ",A2,1)+1))) 2. Appuyez sur Entrée. Ensuite, utilisez la poignée de recopie pour étirer la formule vers le bas sur toutes les lignes à traiter. Le résultat affichera tout le texte situé avant le deuxième espace dans chaque ligne correspondante — voir la capture d’écran ci-dessous :

Conseil :Si vous souhaitez extraire le texte avant la deuxième virgule ou un autre délimiteur, remplacez simplement le caractère espace ()" ") dans la formule par le délimiteur de votre choix. Par exemple, pour une virgule :
=IF(ISERROR(FIND(",",A2,FIND(",",A2,1)+1)),A2,LEFT(A2,FIND(",",A2,FIND(",",A2,1)+1))) Cette approche est rapide et efficace pour des extractions ponctuelles ou lorsque vous travaillez avec des jeux de données de taille modérée. Toutefois, si le texte est très irrégulier ou si le nombre de délimiteurs varie fortement d’une ligne à l’autre, des ajustements supplémentaires de la formule peuvent être nécessaires. Veillez également aux espaces superflus ou aux cellules vides, qui peuvent influencer les résultats. Vérifiez toujours attentivement la sortie lorsque vous appliquez ces formules à des données réelles.

Libérez la magie d’Excel avec Kutools IA
- Exécution intelligente : effectuez des opérations sur les cellules, analysez des données et créez des graphiques, le tout à partir de commandes simples.
- formules personnalisées : créez des formules sur mesure pour rationaliser vos flux de travail.
- Programmation VBA : Écrivez et implémentez du code VBA en toute simplicité.
- Interprétation de formules : Décryptez facilement les formules complexes.
- Traduction de texte : Franchissez les barrières linguistiques directement depuis vos feuilles de calcul.
Extraire le texte après le deuxième espace ou la deuxième virgule à l’aide d’une formule
Pour extraire le texte situé après le deuxième espace dans une cellule, combinez les fonctions STXT et CHERCHE.
1. Saisissez la formule suivante dans la cellule cible (par exemple, D2) :
=MID(A2, FIND(" ", A2, FIND(" ", A2)+1)+1,256) 2. Appuyez sur Entrée. Étirez la poignée de recopie vers le bas sur toutes les lignes nécessitant une extraction. Cela affichera tout ce qui suit le deuxième espace pour chaque ligne, comme illustré dans la capture d’écran :

Conseil : Pour extraire le texte après la deuxième virgule ou tout autre séparateur, remplacez l’espace dans la formule par le délimiteur souhaité. Dans le cas d’une virgule, la formule devient :
=MID(A2, FIND(",", A2, FIND(",", A2)+1)+1,256) Extraire le texte avant ou après le deuxième délimiteur (espace/virgule) avec du code VBA
Pour les grands jeux de données, les extractions répétées ou les scénarios d’automatisation, l’utilisation d’une macro VBA constitue une solution particulièrement efficace. Grâce au VBA, vous pouvez extraire le texte situé avant ou après le deuxième espace, la deuxième virgule ou tout autre délimiteur — ce qui optimise votre productivité lorsque vous travaillez avec diverses structures de données ou que vous avez besoin d’une procédure reproductible.
1. Sélectionnez Développeur > Visual Basic. Dans la fenêtre Microsoft Visual Basic pour Applications qui s’ouvre, cliquez sur Insertion > Module, puis saisissez le code suivant dans la fenêtre du module :
Sub ExtractTextSecondDelimiter()
Dim rng As Range
Dim cell As Range
Dim sep As String
Dim direction As String
Dim arr As Variant
Dim result As String
Dim pos1 As Long
Dim pos2 As Long
Dim xTitleId As String
Dim outputCell As Range
Dim i As Long
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set rng = Application.Selection
Set rng = Application.InputBox("Select text range to extract from", xTitleId, rng.Address, Type:=8)
If rng Is Nothing Then Exit Sub
sep = Application.InputBox("Enter delimiter (e.g. space or comma)", xTitleId, " ", Type:=2)
If sep = "" Then Exit Sub
direction = Application.InputBox("Type 'before' for text before, 'after' for text after the 2nd delimiter", xTitleId, "before", Type:=2)
If direction = "" Then Exit Sub
Set outputCell = Application.InputBox("Select the first cell to output the result", xTitleId, Type:=8)
If outputCell Is Nothing Then Exit Sub
Application.ScreenUpdating = False
i = 0
For Each cell In rng
If Not IsEmpty(cell.Value) Then
pos1 = InStr(1, cell.Value, sep)
If pos1 > 0 Then
pos2 = InStr(pos1 + 1, cell.Value, sep)
If pos2 > 0 Then
If LCase(direction) = "before" Then
result = Left(cell.Value, pos2 - 1)
ElseIf LCase(direction) = "after" Then
result = Mid(cell.Value, pos2 + Len(sep))
Else
result = cell.Value
End If
Else
result = cell.Value
End If
Else
result = cell.Value
End If
outputCell.Offset(i, 0).Value = result
End If
i = i + 1
Next
Application.ScreenUpdating = True
MsgBox "Extraction completed.", vbInformation, xTitleId
End Sub
2. Après avoir collé le code, cliquez sur le bouton
Exécuter ou appuyez sur F5 pour l’exécuter. Une boîte de dialogue s’ouvrira pour vous demander de sélectionner votre plage de données, puis de saisir le délimiteur, d’indiquer si vous souhaitez extraire le texte « avant » ou « après » la deuxième occurrence, et enfin de choisir une cellule où afficher le résultat. La macro inscrira alors le résultat extrait dans la cellule spécifiée.
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