Accéder au contenu principal

Excel : supprimer des caractères, mots, nombres des chaînes de texte

Author: Xiaoyang Last Modified: 2025-05-28

Si vous avez une liste de chaînes de texte dans Excel qui contiennent des caractères, des nombres ou des symboles indésirables, vous pourriez avoir besoin de supprimer certains éléments en fonction de leur position ou de leur type. Que ce soit pour rogner des caractères depuis la gauche, la droite ou le milieu, ou pour éliminer des caractères et des nombres spécifiques, Excel propose plusieurs façons de nettoyer vos données. Ce tutoriel fournit des méthodes étape par étape utilisant des formules, des fonctions définies par l'utilisateur (UDF), et des fonctionnalités intégrées pour supprimer facilement les caractères, mots et nombres indésirables de vos chaînes de texte.

Table des matières :

1. Supprimer des caractères à gauche, à droite ou au milieu des chaînes de texte

2. Supprimer les caractères indésirables / spéciaux de la chaîne de texte

3. Supprimer des caractères / texte avant ou après un caractère spécifique

 4. Supprimer des mots des chaînes de texte


 Supprimer des caractères à gauche, à droite ou au milieu des chaînes de texte

Il est courant pour la plupart d'entre nous de devoir supprimer certains caractères à gauche, à droite ou au milieu des chaînes de texte dans les feuilles de calcul Excel. Cette section présentera quelques astuces rapides et faciles pour accomplir cette tâche.

1.1 Supprimer les n premiers caractères des chaînes de texte

Si vous avez besoin de supprimer les n premiers caractères d'une liste de chaînes de texte, les méthodes suivantes peuvent vous être utiles.

 En utilisant des formules

Normalement, pour supprimer les caractères au début des chaînes de texte, vous pouvez utiliser soit la fonction REMPLACER, soit une combinaison des fonctions DROITE et NBCAR.

Fonction REMPLACER pour supprimer les N premiers caractères :

=REMPLACER(chaîne de caractères, 1, nb_caractères, "")
  • "chaîne de caractères" : La chaîne de texte dont vous souhaitez supprimer des caractères ;
  • "num_chars" : Le nombre de caractères que vous souhaitez supprimer.

Par exemple, pour supprimer les deux premiers caractères des cellules, veuillez utiliser la formule ci-dessous, puis faites glisser la poignée de recopie pour appliquer la formule à d'autres cellules, voir capture d'écran :

=REPLACE(A4, 1, 2, "")

Fonctions DROITE et NBCAR pour supprimer les N premiers caractères :

=DROITE(texte, NBCAR(texte) - nb_caractères)
  • "chaîne de caractères" : La chaîne de texte dont vous souhaitez supprimer des caractères ;
  • "num_chars" : Le nombre de caractères que vous souhaitez supprimer.

Pour supprimer les deux premiers caractères des cellules, veuillez appliquer la formule suivante :

=RIGHT(A4,LEN(A4)-2)


 En utilisant une fonction définie par l'utilisateur

Pour supprimer les n premiers caractères des cellules, vous pouvez également créer une fonction définie par l'utilisateur pour résoudre cette tâche. Veuillez suivre les étapes ci-dessous :

1. Maintenez enfoncées les touches "Alt + F11" pour ouvrir la fenêtre "Microsoft Visual Basic for Applications".

2. Cliquez sur "Insérer" > "Module", puis collez le code suivant dans la fenêtre du Module.

Code VBA : Supprimer les n premiers caractères des chaînes de texte

Function removeFirstx(rng As String, cnt As Long)
'Updateby Extendoffice
removeFirstx = Right(rng, Len(rng) - cnt)
End Function

3. Revenez ensuite à la feuille de calcul, puis entrez cette formule : "=removefirstx(A4,2)" dans une cellule vide, et faites glisser la poignée de remplissage vers le bas pour obtenir les résultats dont vous avez besoin, voir capture d'écran :

Remarque : Dans cette formule : « A4 » est la cellule à partir de laquelle vous souhaitez supprimer des caractères ; Le nombre « 2 » indique le nombre de caractères que vous souhaitez supprimer depuis le début de la chaîne de texte.

A screenshot showing the result of using a custom VBA function to remove characters from text in Excel


1.2 Supprimer les n derniers caractères des chaînes de texte

Pour supprimer un nombre spécifique de caractères du côté droit des chaînes de texte, vous pouvez également utiliser une formule ou une fonction définie par l'utilisateur.

 En utilisant une formule

Pour supprimer les n derniers caractères des chaînes de texte, vous pouvez utiliser une formule basée sur les fonctions GAUCHE et LONGUEUR.

Fonctions GAUCHE et LONGUEUR pour supprimer les N derniers caractères :

=GAUCHE(chaîne, NBCAR(chaîne) - nb_caractères)
  • "chaîne de caractères" : La chaîne de texte dont vous souhaitez supprimer des caractères ;
  • "num_chars" : Le nombre de caractères que vous souhaitez supprimer.

Pour supprimer 3 caractères à partir de la fin des chaînes de texte, veuillez utiliser cette formule, puis faire glisser la poignée de recopie pour appliquer la formule aux autres cellules, voir capture d'écran :

=LEFT(A4, LEN(A4) - 3)


 En utilisant une fonction définie par l'utilisateur

Une fonction définie par l'utilisateur peut également vous aider à supprimer les n derniers caractères d'une liste de cellules. Suivez ces étapes :

1. Maintenez enfoncées les touches "Alt + F11" pour ouvrir la fenêtre "Microsoft Visual Basic for Applications".

2. Cliquez sur "Insérer" > "Module", puis collez le code suivant dans la fenêtre Module.

Code VBA : Supprimer les n derniers caractères des chaînes de texte

Function removeLastx(rng As String, cnt As Long)
'Updateby Extendoffice
removeLastx = Left(rng, Len(rng) - cnt)
End Function

3. Revenez ensuite à la feuille de calcul et entrez cette formule : "=removelastx(A4,3)" dans une cellule vide, puis faites glisser la poignée de remplissage vers le bas pour obtenir les résultats dont vous avez besoin, voir capture d'écran :

Remarque : Dans cette formule : « A4 » est la cellule à partir de laquelle vous souhaitez supprimer des caractères ; Le nombre « 3 » indique le nombre de caractères que vous souhaitez supprimer à partir de la fin de la chaîne de texte.

A screenshot showing the result of using a custom VBA function to remove characters from the end of text in Excel


1.3 Supprimer les premiers, derniers n caractères ou certains caractères de position en utilisant une fonctionnalité puissante

Il peut être pénible pour vous de vous souvenir de diverses formules pour supprimer des caractères à gauche, à droite ou à une position spécifique des chaînes de texte. « Kutools for Excel » propose une fonctionnalité puissante : « Supprimer des caractères à une position spécifique ». Avec cet outil simple, vous pouvez gérer ces tâches en quelques clics sans avoir à mémoriser aucune formule.

Kutools pour Excel propose plus de 300 fonctionnalités avancées pour simplifier les tâches complexes, augmentant ainsi la créativité et l'efficacité. Intégré à des capacités d'IA, Kutools automatise les tâches avec précision, rendant la gestion des données facile et sans effort. Informations détaillées sur Kutools pour Excel...  Essai gratuit...

1. Sélectionnez les cellules dont vous souhaitez supprimer des caractères, puis cliquez sur "Kutools" > "Texte" > "Supprimer des caractères à une position spécifique", voir capture d'écran :

2. Dans la boîte de dialogue "Supprimer des caractères à une position spécifique", veuillez effectuer les opérations suivantes :

2.1 Supprimer les n premiers caractères des cellules :

  • Dans la zone de texte « Nombres », saisissez le nombre de caractères que vous souhaitez supprimer des chaînes de caractères. Dans cet exemple, je vais supprimer les deux premiers caractères.
  • Sélectionnez l'option "Commencer par la gauche" dans la section "Position".
  • Ensuite, cliquez sur le bouton "Ok" ou "Appliquer" pour obtenir le résultat comme illustré dans la capture d'écran ci-dessous.

2.2 Supprimer les n derniers caractères des cellules :

  • Dans la zone de texte « Nombres », saisissez le nombre de caractères que vous souhaitez supprimer des chaînes. Dans cet exemple, je vais supprimer les 3 derniers caractères.
  • Sélectionnez l'option "Commencer par la droite" dans la section "Position".
  • Ensuite, cliquez sur le bouton "Ok" ou "Appliquer" pour obtenir le résultat comme illustré dans la capture d'écran ci-dessous.

2.3 Supprimer n caractères à une position spécifique des cellules :

Si vous devez supprimer un nombre spécifique de caractères à partir d'une position donnée dans les chaînes de texte, par exemple, supprimer 3 caractères en commençant par le troisième caractère des chaînes.

  • Dans la zone de texte « Nombres », saisissez le nombre de caractères que vous souhaitez supprimer des chaînes de caractères. Dans cet exemple, je vais supprimer 3 caractères à partir d'une position spécifique.
  • Sélectionnez l'option "Spécifier", puis saisissez le nombre à partir duquel vous souhaitez supprimer les caractères dans la zone de texte de la section "Position". Ici, je vais supprimer les caractères à partir du troisième caractère.
  • Ensuite, cliquez sur le bouton "Ok" ou "Appliquer" pour obtenir le résultat comme illustré dans la capture d'écran ci-dessous.

Kutools pour Excel - Boostez Excel avec plus de 300 outils essentiels. Profitez de fonctionnalités IA gratuites en permanence ! Obtenez-le maintenant


1.4 Supprimer à la fois les n premiers et les n derniers caractères des chaînes de texte avec une formule

Lorsque vous devez supprimer certains caractères des deux côtés de chaînes de texte dans Excel, vous pouvez combiner les fonctions MID et LEN pour créer une formule afin de traiter cette tâche.

=STXT(chaîne, gauche_caractères + 1, NBCAR(chaîne) - (gauche_caractères + droite_caractères))
  • "chaîne de caractères" : La chaîne de texte dont vous souhaitez supprimer des caractères ;
  • "left_chars" : Le nombre de caractères à supprimer depuis la gauche ;
  • "right_chars" : Le nombre de caractères à supprimer depuis la droite.

Par exemple, si vous devez supprimer les 7 premiers caractères et les 5 derniers caractères des chaînes de texte en même temps, veuillez entrer la formule suivante dans une cellule vide :

=MID(A4, 7+1, LEN(A4) - (7+5))

Remarque : Dans cette formule : « A4 » est la cellule à partir de laquelle vous souhaitez supprimer des caractères ; Le nombre « 7 » est le nombre de caractères que vous souhaitez supprimer du côté gauche ; Le nombre « 5 » est le nombre de caractères que vous souhaitez supprimer du côté droit.

Ensuite, faites glisser la poignée de remplissage vers le bas jusqu'à l'endroit où vous souhaitez appliquer cette formule, et vous obtiendrez le résultat comme le montre la capture d'écran ci-dessous :


 Supprimer les caractères indésirables / spéciaux des chaînes de texte

Lors de l'importation de données provenant d'une autre source vers Excel, de nombreux caractères spéciaux ou indésirables peuvent être collés dans votre feuille de calcul. Pour supprimer ces caractères indésirables tels que #@$%^&, espaces, nombres, caractères non numériques, sauts de ligne, etc., cette section propose quelques méthodes utiles pour vous aider.

2.1 Supprimer certains caractères spéciaux des chaînes de texte

S'il y a des caractères spéciaux tels que %^&*() dans les chaînes de texte, pour supprimer ce type de caractères, vous pouvez appliquer les trois astuces ci-dessous.

 Supprimer plusieurs caractères spéciaux des chaînes de texte avec la fonction SUBSTITUT

Normalement, dans Excel, vous pouvez imbriquer plusieurs fonctions SUBSTITUE pour remplacer chaque caractère spécifique par rien. La syntaxe générique est :

=SUBSTITUE(SUBSTITUE(SUBSTITUE(cellule_chaîne, car1, ""), car2, ""), car3, "")
  • "string_cell" : La cellule contient la chaîne de caractères texte dont vous souhaitez supprimer les caractères spéciaux ;
  • "char1, char2, char3" : Les caractères indésirables que vous souhaitez supprimer.

Maintenant, veuillez copier ou entrer la formule ci-dessous dans une cellule vide :

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2, "#", ""), "&", ""), "*", ""), "%", "")

Ensuite, faites glisser la poignée de remplissage vers le bas jusqu'aux cellules où vous souhaitez appliquer cette formule, et tous les caractères indésirables que vous avez spécifiés seront supprimés en une seule fois, voir capture d'écran :

Astuce : S'il y a plus de caractères que vous souhaitez supprimer, il vous suffit d'imbriquer davantage de fonctions SUBSTITUE dans la formule.


 Supprimer plusieurs caractères spéciaux des chaînes de texte avec une fonction définie par l'utilisateur

Les fonctions SUBSTITUTE imbriquées ci-dessus fonctionnent bien s'il y a peu de caractères spéciaux à supprimer. Cependant, si vous avez des dizaines de caractères à supprimer, la formule peut devenir trop longue et difficile à gérer. Dans ce cas, la fonction définie par l'utilisateur suivante peut vous aider à terminer cette tâche rapidement et facilement.

1. Maintenez enfoncées les touches "Alt + F11" pour ouvrir la fenêtre "Microsoft Visual Basic for Applications".

2. Cliquez sur "Insérer" > "Module", puis collez le code suivant dans la fenêtre Module.

Code VBA : Supprimer plusieurs caractères spéciaux des chaînes de texte

Function RemoveUnwantedChars(Str As String, xchars As String)
'Updateby Extendoffice
    For Index = 1 To Len(xchars)
        Str = Replace(Str, Mid(xchars, Index, 1), "")
    Next
    RemoveUnwantedChars = Str
End Function

3. Ensuite, fermez la fenêtre de code et revenez à la feuille de calcul, entrez cette formule "=RemoveUnwantedChars(A2, $D$2)" dans une cellule vide où afficher le résultat, puis faites glisser la poignée de remplissage vers le bas pour obtenir les résultats dont vous avez besoin, voir capture d'écran :

Remarque : Dans la formule ci-dessus : « A2 » est la cellule à partir de laquelle vous souhaitez supprimer des caractères ; « $D$2 » contient les caractères spéciaux que vous souhaitez supprimer (vous pouvez saisir d'autres caractères spéciaux dont vous avez besoin).

A screenshot showing the result of using a VBA User Defined Function to remove multiple special characters from text in Excel


 Supprimez plusieurs caractères spéciaux des chaînes de texte en utilisant une fonctionnalité étonnante

Si vous avez installé "Kutools for Excel", avec sa fonctionnalité "Supprimer des caractères", vous pouvez supprimer tous types de caractères, tels que les caractères numériques, les caractères alphabétiques, les caractères non imprimables… d'une liste de cellules selon vos besoins.

Kutools pour Excel propose plus de 300 fonctionnalités avancées pour simplifier les tâches complexes, augmentant ainsi la créativité et l'efficacité. Intégré à des capacités d'IA, Kutools automatise les tâches avec précision, rendant la gestion des données facile et sans effort. Informations détaillées sur Kutools pour Excel...  Essai gratuit...

1. Sélectionnez la plage de cellules dont vous souhaitez supprimer les caractères spéciaux, puis cliquez sur "Kutools" > "Texte" > "Supprimer des caractères", voir capture d'écran :

2. Dans la boîte de dialogue "Supprimer des caractères" :

  • Cochez l'option "Personnalisé" sous la section "Supprimer des caractères".
  • Ensuite, saisissez les caractères spéciaux dans la zone de texte que vous souhaitez supprimer.
  • Ensuite, cliquez sur le bouton "Ok" ou "Appliquer" pour supprimer les caractères que vous avez spécifiés en une seule fois. Voir la capture d'écran :

Kutools pour Excel - Boostez Excel avec plus de 300 outils essentiels. Profitez de fonctionnalités IA gratuites en permanence ! Obtenez-le maintenant


2.2 Supprimer tous les nombres des chaînes de texte

Si vous avez une liste de chaînes de texte contenant des nombres, des lettres et des caractères spéciaux, et que vous souhaitez supprimer tous les nombres tout en conservant les autres caractères, cette section vous proposera quelques méthodes pratiques pour vous aider.

 Supprimer les nombres des chaînes de texte avec la fonction SUBSTITUT

Dans Excel, la fonction SUBSTITUTE imbriquée peut vous aider à remplacer tous les nombres par du vide, de sorte que vous pouvez utiliser la formule ci-dessous pour supprimer tous les nombres des cellules :

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,1,""),2,""),3,""),4,""),5,""),6,""),7,""),8,""),9,""),0,"")

Ensuite, faites glisser la poignée de remplissage vers le bas jusqu'aux cellules où vous souhaitez appliquer cette formule, et tous les nombres seront supprimés de la liste des chaînes de texte, voir capture d'écran :


 Supprimer les nombres des chaînes de texte avec la fonction TEXTJOIN

Si vous utilisez Excel 2019, 2021 ou 365, la nouvelle fonction TEXTJOIN peut également vous aider à supprimer les nombres des chaînes de texte.

Veuillez copier la formule suivante dans une cellule vide, puis appuyez simultanément sur les touches Ctrl + Maj + Entrée pour obtenir le premier résultat :

=TEXTJOIN("", TRUE, IF(ISERR(MID(A2, ROW(INDIRECT( "1:"&LEN(A2) )), 1) *1), MID(A2, ROW(INDIRECT("1:"&LEN(A2))), 1), ""))

Ensuite, copiez la formule dans les autres cellules en dessous où vous souhaitez appliquer cette formule, voir capture d'écran :

Remarque : Cette fonction TEXTJOIN n'est disponible que dans Excel 2019, 2021 et Office 365.


 Supprimer les nombres des chaînes de texte avec une fonction définie par l'utilisateur

Outre les deux formules ci-dessus, une fonction définie par l'utilisateur peut également vous aider. Veuillez suivre les étapes ci-dessous :

1. Maintenez enfoncées les touches "Alt + F11" pour ouvrir la fenêtre "Microsoft Visual Basic for Applications".

2. Cliquez sur "Insérer" > "Module", puis collez le code suivant dans la fenêtre Module.

Code VBA : Supprimer les nombres des chaînes de texte

Function RemoveNumbers(Txt As String) As String
'Updateby Extendoffice
With CreateObject("VBScript.RegExp")
.Global = True
.Pattern = "[0-9]"
RemoveNumbers = .Replace(Txt, "")
End With
End Function

3. Ensuite, fermez et quittez la fenêtre de code, revenez à la feuille de calcul, et entrez cette formule : =RemoveNumbers(A2) dans une cellule vide, puis faites glisser la poignée de remplissage vers le bas jusqu'aux cellules où vous souhaitez appliquer cette formule, voir capture d'écran :

A screenshot showing the VBA User Defined Function result to remove numbers from text strings in Excel


 Supprimer les nombres des chaînes de texte avec une option pratique

Si vous en avez assez des formules compliquées, laissez-moi vous montrer un outil simple : la fonction "Supprimer des caractères" de "Kutools pour Excel". Avec cette fonctionnalité pratique, vous pouvez accomplir cette tâche en seulement quelques clics.

Kutools pour Excel propose plus de 300 fonctionnalités avancées pour simplifier les tâches complexes, augmentant ainsi la créativité et l'efficacité. Intégré à des capacités d'IA, Kutools automatise les tâches avec précision, rendant la gestion des données facile et sans effort. Informations détaillées sur Kutools pour Excel...  Essai gratuit...

1. Sélectionnez la plage de cellules où vous souhaitez supprimer les nombres, puis cliquez sur "Kutools" > "Texte" > "Supprimer des caractères".

2. Dans la boîte de dialogue "Supprimer des caractères", veuillez effectuer les opérations suivantes :

  • Cochez l'option "Numérique" sous la section "Supprimer des caractères".
  • Ensuite, cliquez sur le bouton "Ok" ou "Appliquer" pour supprimer les nombres immédiatement. Voir la capture d'écran :

Kutools pour Excel - Boostez Excel avec plus de 300 outils essentiels. Profitez de fonctionnalités IA gratuites en permanence ! Obtenez-le maintenant


2.3 Supprimer les caractères non numériques des chaînes de texte

Pour supprimer tous les caractères non numériques et ne conserver que les nombres dans des chaînes de texte, cette section expliquera différentes méthodes pour accomplir cette tâche dans Excel.

 Supprimer les caractères non numériques des chaînes de texte avec une formule dans Excel 2016 et les versions antérieures

Si vous utilisez Excel 2016 ou des versions antérieures, vous devez appliquer une formule complexe pour accomplir cette tâche. Veuillez copier ou saisir la formule ci-dessous dans une cellule vide :

=SUMPRODUCT(MID(0&A2, LARGE(INDEX(ISNUMBER(--MID(A2, ROW(INDIRECT("1:"&LEN(A2))), 1)) * ROW(INDIRECT("1:"&LEN(A2))), 0), ROW(INDIRECT("1:"&LEN(A2))))+1, 1) * 10^ROW(INDIRECT("1:"&LEN(A2)))/10)

Ensuite, copiez la formule dans les autres cellules en dessous où vous souhaitez appliquer cette formule, voir capture d'écran :

Remarque : Si les nombres dans une chaîne de texte commencent par 0, le 0 sera perdu.


 Supprimer les caractères non numériques des chaînes de texte avec la fonction TEXTJOIN dans Excel 2019, 2021, 365

La formule ci-dessus peut être trop difficile à comprendre pour la plupart d'entre nous. Si vous avez Excel 2019, 2021 ou 365, il existe une formule élégante qui peut vous aider.

Veuillez copier ou entrer la formule suivante dans une cellule vide, puis appuyer simultanément sur les touches "Ctrl + Maj + Entrée" pour obtenir le premier résultat correct :

=TEXTJOIN("",TRUE,IFERROR(MID(A2,ROW(INDIRECT("1:100")),1)+0,""))

Ensuite, faites glisser la poignée de recopie vers le bas jusqu'aux cellules où vous appliquerez cette formule, et vous obtiendrez le résultat comme le montre la capture d'écran ci-dessous :

Remarque : Avec cette formule, vous pouvez constater que les zéros non significatifs seront conservés, car les nombres sont renvoyés sous forme de texte.


 Supprimer les caractères non numériques des chaînes de texte avec une fonction définie par l'utilisateur

Bien sûr, vous pouvez également créer votre propre fonction définie par l'utilisateur avec une syntaxe plus simple, veuillez procéder comme suit :

1. Maintenez enfoncées les touches "Alt + F11" pour ouvrir la fenêtre "Microsoft Visual Basic for Applications".

2. Cliquez sur "Insérer" > "Module", puis collez le code suivant dans la fenêtre Module.

Code VBA : Supprimer les caractères non numériques des chaînes de texte

Function Removenonnumeric(str As String) As String
'Updateby Extendoffice
    With CreateObject("VBScript.RegExp")
        .Global = True
        .Pattern = "[^0-9]"
        Removenonnumeric = .Replace(str, "")
    End With
End Function

3. Ensuite, fermez et quittez la fenêtre de code, revenez à la feuille de calcul, et entrez cette formule : =Removenonnumeric(A2) dans une cellule vide, puis faites glisser la poignée de remplissage vers le bas jusqu'aux cellules où vous souhaitez appliquer cette formule. Seuls les nombres seront extraits, comme illustré dans la capture d'écran ci-dessous :

A screenshot showing the result of using a VBA User Defined Function to extract only numbers from text strings in Excel


 Supprimer les caractères non numériques des chaînes de texte avec une fonctionnalité simple

Pour supprimer directement les caractères non numériques dans une plage de cellules, l’utilitaire "Supprimer des caractères" de "Kutools for Excel" peut accomplir cette tâche en seulement quelques clics.

Kutools pour Excel propose plus de 300 fonctionnalités avancées pour simplifier les tâches complexes, augmentant ainsi la créativité et l'efficacité. Intégré à des capacités d'IA, Kutools automatise les tâches avec précision, rendant la gestion des données facile et sans effort. Informations détaillées sur Kutools pour Excel...  Essai gratuit...

1. Sélectionnez la plage de cellules à partir de laquelle vous souhaitez supprimer les caractères non numériques, puis cliquez sur "Kutools" > "Texte" > "Supprimer des caractères".

2. Dans la boîte de dialogue "Supprimer des caractères", veuillez configurer les opérations suivantes :

  • Cochez l'option "Non-numeric" sous la section "Supprimer des caractères spécifiques".
  • Ensuite, cliquez sur le bouton "Ok" ou "Appliquer" pour supprimer immédiatement tous les caractères non numériques. Voir la capture d'écran :

Kutools pour Excel - Boostez Excel avec plus de 300 outils essentiels. Profitez de fonctionnalités IA gratuites en permanence ! Obtenez-le maintenant


2.4 Séparer le texte et les nombres d'une cellule en deux colonnes

Parfois, vous pouvez souhaiter extraire le texte et les nombres des chaînes de texte dans deux colonnes séparées. Avec l'aide des méthodes suivantes, vous pouvez accomplir cette tâche rapidement et facilement.

 Séparer le texte et les nombres d'une cellule en deux colonnes avec une fonction définie par l'utilisateur

En utilisant la fonction personnalisée suivante, vous pouvez extraire le texte et les nombres en une seule fois. Veuillez suivre les étapes ci-dessous :

1. Maintenez enfoncées les touches "Alt + F11" pour ouvrir la fenêtre "Microsoft Visual Basic for Applications".

2. Cliquez sur "Insérer" > "Module", puis collez le code suivant dans la fenêtre Module.

Code VBA : Séparer le texte et les nombres des chaînes de texte en deux colonnes

Function SplitText(pWorkRng As Range, pIsNumber As Boolean) As String
'Updateby Extendoffice
Dim xLen As Long
Dim xStr As String
xLen = VBA.Len(pWorkRng.Value)
For i = 1 To xLen
    xStr = VBA.Mid(pWorkRng.Value, i, 1)
    If ((VBA.IsNumeric(xStr) And pIsNumber) Or (Not (VBA.IsNumeric(xStr)) And Not (pIsNumber))) Then
        SplitText = SplitText + xStr
    End If
Next
End Function

3. Ensuite, fermez et quittez la fenêtre de code, revenez à la feuille de calcul, et entrez cette formule : =SplitText(A2,FALSE) dans une cellule vide, puis faites glisser la poignée de remplissage vers le bas jusqu'aux cellules où vous souhaitez appliquer cette formule pour obtenir tout le texte, voir capture d'écran :

A screenshot showing the result of using a User Defined Function to separate text from numbers in Excel

4. Ensuite, continuez à taper cette formule : =SplitText(A2,TRUE) dans une autre cellule et faites glisser la poignée de remplissage vers le bas jusqu'aux cellules où vous souhaitez appliquer cette formule pour obtenir les nombres, voir capture d'écran :

A screenshot showing the result of using a User Defined Function to extract numbers from a text string in Excel


 Séparez le texte et les nombres d'une cellule en deux colonnes avec une fonctionnalité simple

Si vous possédez "Kutools for Excel", son utilitaire "Split Cells" peut vous aider à diviser des cellules en plusieurs colonnes ou lignes en fonction de n'importe quel séparateur, d'une largeur spécifique ou de texte et de nombre.

Kutools pour Excel propose plus de 300 fonctionnalités avancées pour simplifier les tâches complexes, augmentant ainsi la créativité et l'efficacité. Intégré à des capacités d'IA, Kutools automatise les tâches avec précision, rendant la gestion des données facile et sans effort. Informations détaillées sur Kutools pour Excel...  Essai gratuit...

1. Sélectionnez la plage de cellules que vous souhaitez diviser, puis cliquez sur "Kutools" > "Fusionner et Diviser" > "Diviser les cellules", voir capture d'écran :

2. Dans la boîte de dialogue « Diviser les cellules », sélectionnez l'option « Diviser les données » sous la section « Type », puis cochez « Diviser par texte et nombre » dans la section « Séparateur », voir capture d'écran :

3. Ensuite, cliquez sur le bouton "Ok", et une autre boîte de dialogue "Diviser les cellules" apparaîtra. Sélectionnez une cellule pour afficher le texte et les nombres séparés, puis cliquez sur le bouton "OK". Vous pouvez maintenant voir que le texte et les nombres des cellules sélectionnées sont divisés en deux colonnes immédiatement, comme illustré dans la démonstration ci-dessous :

Kutools pour Excel - Boostez Excel avec plus de 300 outils essentiels. Profitez de fonctionnalités IA gratuites en permanence ! Obtenez-le maintenant


2.5 Supprimer les caractères de saut de ligne des chaînes de texte

Un saut de ligne est une fonction qui vous permet d'avoir plusieurs lignes dans la même cellule dans Excel. Parfois, lorsque vous copiez des données à partir d'un site web ou que vous séparez manuellement le contenu de vos cellules avec les touches "Alt + Entrée", vous obtenez des sauts de ligne ou des retours chariot. Dans certains cas, vous pourriez vouloir supprimer ces sauts de ligne pour que le contenu de la cellule apparaisse sur une seule ligne, comme le montre la capture d'écran ci-dessous. Ici, je vais présenter quelques méthodes pour résoudre cette tâche dans Excel.

 Supprimer les caractères de saut de ligne des chaînes de texte avec la fonction Rechercher et Remplacer

Dans Excel, vous pouvez utiliser la fonctionnalité "Rechercher et Remplacer" pour supprimer les sauts de ligne, veuillez procéder comme suit :

1. Sélectionnez la plage de données à partir de laquelle vous souhaitez supprimer les sauts de ligne.

2. Ensuite, cliquez sur "Accueil" > "Rechercher et sélectionner" > "Remplacer" (ou appuyez sur les touches "Ctrl + H") pour accéder à la boîte de dialogue "Rechercher et Remplacer", voir capture d'écran :

3. Dans la boîte de dialogue contextuelle "Rechercher et Remplacer", veuillez effectuer les opérations suivantes :

  • Placez le curseur dans le champ "Rechercher quoi" et appuyez sur "Ctrl + J" au clavier, vous ne verrez peut-être rien, mais le caractère de saut de ligne a été inséré.
  • Dans le champ « Remplacer par », laissez ce champ vide pour simplement supprimer les sauts de ligne ou appuyez une fois sur la « barre d'espace » pour remplacer les sauts de ligne par des espaces.

4. Ensuite, cliquez sur le bouton "Remplacer tout", tous les sauts de ligne dans les cellules sélectionnées seront supprimés ou remplacés par des espaces en une seule fois. Voir la capture d'écran :


 Supprimer les caractères de saut de ligne des chaînes de texte avec la fonction SUBSTITUT

Vous pouvez également créer une formule basée sur les fonctions SUBSTITUE et CAR pour supprimer les sauts de ligne des chaînes de texte.

Veuillez appliquer la formule ci-dessous pour obtenir le résultat :

=SUBSTITUTE(A2,CHAR(10),"")

Astuce : La fonction SUBSTITUE recherche et remplace le caractère CHAR(10), qui représente le saut de ligne, par rien. Si vous souhaitez que le résultat soit séparé par une virgule et un espace, vous pouvez utiliser la formule ci-dessous :

=SUBSTITUTE(A2,CHAR(10),", ")


 Supprimer les caractères de saut de ligne des chaînes de texte avec le code VBA

Si vous êtes à l'aise avec l'utilisation de code VBA, voici également un code pour vous. Veuillez suivre les étapes ci-dessous :

1. Maintenez enfoncées les touches "Alt + F11" pour ouvrir la fenêtre "Microsoft Visual Basic for Applications".

2. Cliquez sur "Insérer" > "Module", puis collez le code suivant dans la fenêtre Module.

Code VBA : Supprimer les sauts de ligne des chaînes de texte

Sub RemoveCarriage()
'Updateby Extendoffice
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
For Each Rng In WorkRng
    Rng.Value = Replace(Rng.Value, Chr(10), "")
Next
End Sub

3. Ensuite, appuyez sur la touche "F5" pour exécuter ce code, et une boîte de dialogue apparaîtra. Sélectionnez la plage à partir de laquelle vous souhaitez supprimer les sauts de ligne, comme indiqué dans la capture d'écran ci-dessous :

A screenshot of a prompt box asking the user to select a range to remove line breaks in Excel

4. Ensuite, cliquez sur le bouton "OK", tous les sauts de ligne seront supprimés de la plage de données sélectionnée.


 Supprimer les caractères de saut de ligne des chaînes de texte avec une option intelligente

Ici, la fonctionnalité "Supprimer des caractères" de "Kutools pour Excel" peut également vous aider à supprimer facilement les sauts de ligne.

Kutools pour Excel propose plus de 300 fonctionnalités avancées pour simplifier les tâches complexes, augmentant ainsi la créativité et l'efficacité. Intégré à des capacités d'IA, Kutools automatise les tâches avec précision, rendant la gestion des données facile et sans effort. Informations détaillées sur Kutools pour Excel...  Essai gratuit...

1. Sélectionnez la plage de cellules où vous souhaitez supprimer les sauts de ligne, puis cliquez sur "Kutools" > "Texte" > "Supprimer des caractères".

2. Dans la boîte de dialogue "Supprimer des caractères", veuillez configurer les opérations suivantes :

  • Cochez l'option "Non-printing" sous la section "Supprimer des caractères".
  • Ensuite, cliquez sur le bouton "Ok" ou "Appliquer" pour supprimer tous les sauts de ligne de la plage de données sélectionnée. Voir la capture d'écran :

Kutools pour Excel - Boostez Excel avec plus de 300 outils essentiels. Profitez de fonctionnalités IA gratuites en permanence ! Obtenez-le maintenant


2.6 Supprimer les espaces (espaces avant, après, superflus ou tous les espaces) des chaînes de texte

Copier et coller du texte à partir d'une source externe vers une feuille de calcul Excel entraîne souvent des espaces blancs résiduels gênants. Il peut être fastidieux de supprimer manuellement les espaces avant, après ou autres espaces superflus. Heureusement, Excel propose quelques astuces simples pour gérer cette tâche.

 Supprimer les espaces supplémentaires (en début, en fin, excédents) des chaînes de texte avec la fonction TRIM

Dans Excel, pour supprimer les espaces avant, après et les espaces supplémentaires des chaînes de texte, la fonction TRIM simple peut vous aider. Cette fonction supprime tous les espaces sauf les espaces uniques entre les mots.

Veuillez entrer la formule ci-dessous dans une cellule vide :

=TRIM(A2)

Ensuite, faites glisser la poignée de remplissage vers le bas pour copier la formule dans les autres cellules. Vous pouvez maintenant constater que tous les espaces avant, après et les espaces supplémentaires entre les mots ont été supprimés d'un coup, comme le montre la capture d'écran :


 Supprimer tous les espaces des chaînes de texte

Si vous souhaitez supprimer tous les espaces blancs des chaînes de texte, la fonction SUBSTITUE suivante et la fonction Rechercher & Remplacer peuvent vous aider.

En utilisant la fonction SUBSTITUE

Vous pouvez utiliser la fonction SUBSTITUE pour remplacer tous les espaces par rien, veuillez appliquer la formule ci-dessous dans une cellule vide :

=SUBSTITUTE(A2," ","") 

Ensuite, faites glisser la poignée de recopie vers le bas pour copier cette formule dans les autres cellules dont vous avez besoin, et tous les espaces seront supprimés comme le montre la capture d'écran ci-dessous :


En utilisant la fonctionnalité Rechercher et Remplacer

En fait, la fonctionnalité "Rechercher et remplacer" dans Excel peut également aider à éliminer tous les espaces des cellules sélectionnées. Veuillez suivre les étapes ci-dessous :

1. Sélectionnez la plage de données dont vous souhaitez supprimer tous les espaces.

2. Ensuite, cliquez sur "Accueil" > "Rechercher et sélectionner" > "Remplacer" (ou appuyez sur les touches "Ctrl + H") pour accéder à la boîte de dialogue "Rechercher et Remplacer". Dans la boîte de dialogue "Rechercher et Remplacer" ouverte, veuillez effectuer les opérations ci-dessous :

  • Appuyez sur la "touche Espace" dans le champ "Rechercher quoi" ;
  • Dans le champ "Remplacer par", laissez ce champ vide.

3. Ensuite, cliquez sur le bouton "Remplacer tout", tous les espaces blancs dans les cellules sélectionnées seront supprimés en une seule fois. Voir la capture d'écran :


 Supprimez tous les types d'espaces des chaînes de texte avec une fonctionnalité puissante

"Kutools pour Excel" dispose d'une fonctionnalité puissante : "Supprimer les espaces". Grâce à cet outil, vous pouvez non seulement supprimer les espaces avant, les espaces après, les espaces superflus, mais aussi tous les espaces des plages sélectionnées dans une seule boîte de dialogue, ce qui améliorera votre productivité au travail.

Kutools pour Excel propose plus de 300 fonctionnalités avancées pour simplifier les tâches complexes, augmentant ainsi la créativité et l'efficacité. Intégré à des capacités d'IA, Kutools automatise les tâches avec précision, rendant la gestion des données facile et sans effort. Informations détaillées sur Kutools pour Excel...  Essai gratuit...

1. Sélectionnez la plage de données dont 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 », sélectionnez le type d'espace que vous souhaitez supprimer dans « Type despace » :

  • Pour supprimer les espaces avant, veuillez sélectionner l'option "Espaces avant".
  • Pour supprimer les espaces de fin, veuillez sélectionner l'option "Espaces après".
  • Pour supprimer à la fois les espaces avant et les espaces après, veuillez sélectionner l'option « Espaces avant et après ».
  • Supprimez tous les espaces supplémentaires, veuillez sélectionner l'option "Tous les espaces superflus" ;
  • Pour supprimer tous les espaces, veuillez sélectionner l'option "Tous les espaces".

3. Ensuite, cliquez sur le bouton "Ok" ou "Appliquer", et vous obtiendrez le résultat dont vous avez besoin.

Kutools pour Excel - Boostez Excel avec plus de 300 outils essentiels. Profitez de fonctionnalités IA gratuites en permanence ! Obtenez-le maintenant


 Supprimer des caractères / texte avant ou après un caractère spécifique

Dans cette section, je vais présenter quelques opérations pour supprimer le texte ou les caractères avant ou après la première, la dernière ou la n-ième occurrence d'un caractère spécifique.

3.1 Supprimer le texte avant ou après le premier caractère spécifique

Si vous souhaitez supprimer le texte avant ou après le premier caractère spécifique, comme un espace ou une virgule, dans une liste de chaînes de texte comme le montre la capture d'écran ci-dessous, je vais vous présenter deux méthodes.

 Supprimer le texte avant le premier caractère spécifique avec une formule

Pour supprimer le texte ou les caractères avant le premier caractère spécifique, vous pouvez créer une formule basée sur les fonctions DROITE, NBCAR et TROUVE. La syntaxe générique est la suivante :

"=DROITE(cellule, NBCAR(cellule)-TROUVE("caractère", cellule))"
  • "cellule" : La référence de cellule ou la chaîne de texte dont vous souhaitez supprimer du texte ;
  • "char" : Le séparateur spécifique sur lequel vous souhaitez supprimer le texte.

Par exemple, pour supprimer tout ce qui se trouve avant la première virgule dans les chaînes de la liste, vous devez appliquer la formule suivante dans une cellule vide, puis la faire glisser vers le bas jusqu'aux cellules dont vous avez besoin, voir capture d'écran :

=RIGHT(A2,LEN(A2)-FIND(",",A2))

Remarque : Dans la formule ci-dessus : « A2 » est la cellule à partir de laquelle vous souhaitez supprimer du texte ; « , » est le caractère spécifique sur lequel vous souhaitez baser la suppression du texte, vous pouvez le modifier pour utiliser d'autres caractères selon vos besoins.


 Supprimer le texte après le premier caractère spécifique avec une formule

Pour supprimer tout ce qui suit le premier caractère spécifique, vous pouvez utiliser les fonctions GAUCHE et TROUVER pour obtenir le résultat. La syntaxe générale est :

=GAUCHE(cellule,TROUVE("caractère",cellule)-1)
  • "cellule" : La référence de cellule ou la chaîne de texte dont vous souhaitez supprimer le texte ;
  • "char" : Le séparateur spécifique sur lequel vous souhaitez supprimer le texte.

Maintenant, veuillez entrer la formule ci-dessous dans une cellule vide, puis faites glisser la poignée de remplissage vers d'autres cellules où vous souhaitez appliquer cette formule, et tous les caractères après la première virgule seront supprimés immédiatement, voir capture d'écran :

=LEFT(A2,FIND(",",A2)-1)


3.2 Supprimer le texte avant ou après la N-ième occurrence d'un caractère

Parfois, les chaînes de texte contiennent plusieurs occurrences d'un délimiteur spécifique, et vous pourriez vouloir supprimer tous les caractères avant ou après une occurrence spécifique, comme la deuxième, la troisième ou la quatrième selon vos besoins. Pour gérer ce type de suppression, vous pouvez utiliser les astuces suivantes :

 Supprimer le texte avant la N-ième occurrence d'un caractère avec une formule

Pour supprimer le texte avant la N-ième occurrence d'un caractère spécifique, la formule suivante peut vous aider, la syntaxe générique est :

=DROITE(cellule;NBCAR(cellule)-TROUVE("#";SUBSTITUE(cellule;"caractère";"#";N)))
  • "cellule" : La référence de cellule ou la chaîne de texte dont vous souhaitez supprimer le texte ;
  • "char" : Le séparateur spécifique sur lequel vous souhaitez supprimer le texte ;
  • "N" : L'occurrence du caractère avant laquelle supprimer le texte.

Par exemple, pour supprimer tout ce qui se trouve avant la deuxième virgule dans les chaînes de texte, vous devez appliquer la formule ci-dessous :

=RIGHT(A2,LEN(A2)-FIND("#",SUBSTITUTE(A2,",","#",2)))

Remarque : Dans la formule ci-dessus : "A2" est la cellule à partir de laquelle vous souhaitez supprimer le texte ; "," est le caractère spécifique à partir duquel vous souhaitez supprimer le texte, vous pouvez le modifier pour utiliser d'autres caractères selon vos besoins ; "2" indique la nième virgule avant laquelle vous souhaitez supprimer le texte.

Ensuite, faites glisser la poignée de recopie pour copier la formule dans d'autres cellules, voir capture d'écran :


 Supprimer le texte après la N-ième occurrence d'un caractère avec une formule

Pour supprimer le texte après la N-ième occurrence d'un séparateur spécifique, les fonctions GAUCHE, SUBSTITUE et TROUVE peuvent vous aider. La syntaxe générique est :

=GAUCHE(cellule, TROUVE("#", SUBSTITUE(cellule, "caractère", "#", N)) -1)
  • "cellule" : La référence de cellule ou la chaîne de texte dont vous souhaitez supprimer le texte ;
  • "char" : Le séparateur spécifique sur lequel vous souhaitez supprimer le texte ;
  • "N" : L'occurrence du caractère après laquelle supprimer le texte.

Une fois que vous avez compris la syntaxe de base, veuillez copier ou saisir la formule ci-dessous dans une cellule vide :

=LEFT(A2, FIND("#", SUBSTITUTE(A2, ",", "#", 2)) -1)

Remarque : Dans la formule ci-dessus : "A2" est la cellule à partir de laquelle vous souhaitez supprimer le texte ; "," est le caractère spécifique sur lequel vous souhaitez baser la suppression du texte, vous pouvez le modifier pour utiliser d'autres caractères selon vos besoins ; "2" indique le n-ième caractère après lequel vous souhaitez supprimer le texte.

Ensuite, faites glisser la poignée de recopie pour copier la formule dans d'autres cellules, et tous les caractères après la deuxième virgule seront supprimés immédiatement, voir capture d'écran :


 Supprimer le texte avant ou après la N-ième occurrence d'un caractère avec une fonction définie par l'utilisateur

Comme vous pouvez le voir, vous pouvez résoudre les cas de suppression de texte avant ou après la N-ième occurrence d'un caractère en utilisant les fonctions natives d'Excel en différentes combinaisons. Le problème est que vous devez vous souvenir de ces formules complexes. Dans ce cas, je vais créer une fonction définie par l'utilisateur pour couvrir tous les scénarios, veuillez procéder comme suit :

1. Maintenez enfoncées les touches "Alt + F11" pour ouvrir la fenêtre "Microsoft Visual Basic for Applications".

2. Cliquez sur "Insérer" > "Module", puis collez le code suivant dans la fenêtre du Module.

Code VBA : Supprimer le texte avant ou après la N-ième occurrence d'un caractère

Function RemoveTextOccurrence(Str As String, Delimiter As String, Occurrence As Integer, IsAfter As Boolean)
Dim xStr As String
Dim xStrLen, xF, xIntStart As Integer
xStr = Str
xStrLen = Len(xStr)
xIntStart = 1
For xF = 1 To Occurrence
xIntStart = InStr(xIntStart + 1, xStr, Delimiter, vbTextCompare)
If (xIntStart = 0) Or (xIntStart < 0) Then
    If IsAfter Then
    RemoveTextOccurrence = xStr
    Else
    RemoveTextOccurrence = ""
    End If
    Exit Function
End If
Next
If IsAfter Then
    RemoveTextOccurrence = Mid(Str, 1, xIntStart - 1)
Else
    RemoveTextOccurrence = Mid(Str, xIntStart + 1)
End If
End Function

3. Ensuite, fermez et quittez la fenêtre de code, revenez à la feuille de calcul, puis utilisez les formules suivantes :

Supprimer le texte avant la deuxième occurrence d'une virgule :

=RemoveTextOccurrence(A2, ", ", 2, FALSE)

A screenshot showing the result of using the RemoveTextOccurrence function in Excel to remove text before the second occurrence of a comma

Supprimer le texte après la deuxième occurrence d'une virgule

=RemoveTextOccurrence(A2, ", ", 2, TRUE)

A screenshot showing the result of using the RemoveTextOccurrence function in Excel to remove text after the second occurrence of a comma


3.3 Supprimer le texte avant ou après la dernière occurrence d'un caractère

Si vous devez supprimer tout le texte avant ou après le dernier caractère spécifique, en ne laissant que les sous-chaînes avant ou après celui-ci, cette section propose des formules pour résoudre ce problème.

 Supprimer le texte avant la dernière occurrence d'un caractère avec une formule

Pour supprimer tous les caractères avant la dernière occurrence d'un caractère, la syntaxe générique est :

=DROITE(cellule;NBCAR(cellule)-CHERCHE("#";SUBSTITUE(cellule;"car";"#";NBCAR(cellule)-NBCAR(SUBSTITUE(cellule;"car";"")))))
  • "cellule" : La référence de cellule ou la chaîne de texte dont vous souhaitez supprimer le texte ;
  • "char" : Le séparateur spécifique sur lequel vous souhaitez supprimer le texte ;

Maintenant, si vous avez besoin de supprimer le texte avant la dernière occurrence d'une virgule, veuillez copier ou entrer la formule ci-dessous dans une cellule vide :

=RIGHT(A2,LEN(A2)-SEARCH("#",SUBSTITUTE(A2,",","#",LEN(A2)-LEN(SUBSTITUTE(A2,",","")))))

Remarque : Dans la formule ci-dessus : "A2" est la cellule à partir de laquelle vous souhaitez supprimer le texte ; "," est le caractère spécifique sur lequel vous souhaitez supprimer le texte, vous pouvez le modifier pour utiliser d'autres caractères selon vos besoins.

Ensuite, faites glisser la poignée de recopie pour copier la formule dans d'autres cellules, et tous les caractères avant la dernière virgule seront supprimés comme le montre la capture d'écran ci-dessous :


 Supprimer le texte après la dernière occurrence d'un caractère avec des formules

Si les valeurs des cellules sont séparées par un nombre variable de délimiteurs et que vous souhaitez supprimer tout ce qui se trouve après la dernière occurrence de ce délimiteur, la syntaxe générique est :

=GAUCHE(cellule;TROUVE("#";SUBSTITUE(cellule;"caractère";"#";NBCAR(cellule)-NBCAR(SUBSTITUE(cellule;"caractère";""))))-1)
  • "cellule" : La référence de cellule ou la chaîne de texte dont vous souhaitez supprimer le texte ;
  • "char" : Le séparateur spécifique sur lequel vous souhaitez supprimer le texte ;

Veuillez copier ou entrer la formule ci-dessous dans une cellule vide, puis faire glisser la poignée de remplissage vers le bas pour obtenir les autres résultats dont vous avez besoin, voir capture d'écran :

=LEFT(A2,FIND("#",SUBSTITUTE(A2,",>","#",LEN(A2)-LEN(SUBSTITUTE(A2,",",""))))-1)

"Remarque" : Dans la formule ci-dessus : "A2" est la cellule à partir de laquelle vous souhaitez supprimer le texte ; "," est le caractère spécifique sur lequel vous souhaitez baser la suppression du texte, vous pouvez le modifier par d'autres caractères selon vos besoins.


3.4 Supprimer le texte entre parenthèses

Si vous avez une liste de chaînes de texte avec une partie des caractères encadrés par des parenthèses, vous pourriez vouloir supprimer tous les caractères à l'intérieur des parenthèses, y compris les parenthèses elles-mêmes, comme le montre la capture d'écran ci-dessous. Cette section va discuter de quelques astuces pour résoudre cette tâche dans Excel.

 Supprimer le texte entre parenthèses avec la fonction Rechercher et Remplacer

Dans Excel, la fonction Rechercher et Remplacer intégrée peut vous aider à trouver tous les textes entre parenthèses, puis à les remplacer par rien. Veuillez procéder comme suit :

1. Sélectionnez la liste de données dont vous souhaitez supprimer les textes entre parenthèses.

2. Ensuite, cliquez sur "Accueil" > "Rechercher et sélectionner" > "Remplacer" (ou appuyez sur les touches "Ctrl + H") pour accéder à la boîte de dialogue "Rechercher et Remplacer". Dans la boîte de dialogue "Rechercher et Remplacer", effectuez les opérations suivantes :

  • Dans le champ « Rechercher quoi », saisissez « (*) » dans la zone de texte ;
  • Dans le champ "Remplacer par", laissez ce champ vide.

3. Ensuite, cliquez sur le bouton "Remplacer tout", tous les caractères entre parenthèses (y compris les parenthèses) dans les cellules sélectionnées seront supprimés en une seule fois. Voir la capture d'écran :

Astuce : La fonctionnalité "Rechercher et Remplacer" fonctionne également pour deux paires de parenthèses ou plus dans les chaînes de texte.


 Supprimer le texte entre parenthèses avec une formule

Outre la fonctionnalité Rechercher et Remplacer, vous pouvez également utiliser une formule pour résoudre cette tâche dans Excel. La syntaxe générique est :

=SUBSTITUE(texte;STXT(GAUCHE(texte;TROUVE(")";texte));TROUVE("(";texte);NBCAR(texte));"")
  • "texte" : La chaîne de texte ou la référence de cellule à partir de laquelle vous souhaitez supprimer des caractères.

Maintenant, veuillez copier ou entrer la formule suivante dans une cellule vide où vous souhaitez obtenir le résultat :

=SUBSTITUTE(A2,MID(LEFT(A2,FIND(")",A2)),FIND("(",A2),LEN(A2)),"")

Ensuite, faites glisser la poignée de recopie vers le bas jusqu'aux cellules où vous souhaitez appliquer cette formule, et tous les textes entre parenthèses, y compris les parenthèses elles-mêmes, seront supprimés en une seule fois, comme le montre la capture d'écran :

Conseils : Si la valeur de la cellule ne contient pas de parenthèses, une erreur sera affichée après avoir appliqué la formule ci-dessus. Pour ignorer l'erreur, veuillez utiliser la formule ci-dessous :

=IFERROR(SUBSTITUTE(A2,MID(LEFT(A2,FIND(")",A2)),FIND("(",A2),LEN(A2)),""),A2)


 Supprimer le texte entre parenthèses avec une fonction définie par l'utilisateur

La formule ci-dessus fonctionne bien pour supprimer le texte d'une paire de parenthèses. Cependant, si vous devez supprimer du texte de plusieurs paires de parenthèses dans les chaînes de texte, la formule ne fonctionnera pas correctement. Ici, je vais créer une simple Fonction Définie par l'Utilisateur pour résoudre cette tâche.

1. Maintenez enfoncées les touches "Alt + F11" pour ouvrir la fenêtre "Microsoft Visual Basic for Applications".

2. Cliquez sur "Insérer" > "Module", puis collez le code suivant dans la fenêtre Module.

Code VBA : Supprimer le texte entre parenthèses

Function remtxt(ByVal str As String) As String
'Updateby Extendoffice
  While InStr(str, "(") > 0 And InStr(str, ")") > InStr(str, "(")
    str = Left(str, InStr(str, "(") - 1) & Mid(str, InStr(str, ")") + 1)
  Wend
  remtxt = Trim(str)
End Function

3. Revenez à la feuille de calcul, entrez cette formule dans une cellule vide : "=remtxt(A2)", puis faites glisser la poignée de recopie vers le bas pour appliquer la formule. Tout le texte à l'intérieur des parenthèses, y compris les parenthèses elles-mêmes, sera supprimé, comme le montre la capture d'écran :

A screenshot showing the result of using a custom VBA function in Excel to remove text between multiple pairs of parentheses


 Supprimer des mots des chaînes de texte

Dans certains cas, vous pouvez souhaiter supprimer certains mots d'une liste de cellules, comme le premier ou le dernier mot, ou encore des mots en double dans une cellule. Pour résoudre ces types de suppressions, cette section vous présentera quelques méthodes.

4.1 Supprimer le premier ou le dernier mot d'une chaîne de texte

Pour supprimer le premier ou le dernier mot d'une liste de chaînes de texte, les formules suivantes peuvent vous être utiles.

 Supprimer le premier mot d'une chaîne de texte avec une formule

Pour supprimer les premiers mots d'une liste de chaînes de texte, vous pouvez créer une formule simple basée sur les fonctions DROITE, NBCAR et TROUVE. La syntaxe générique est la suivante :

=DROITE(texte;NBCAR(texte)-TROUVE(" ";texte))
  • "texte": La chaîne de texte ou la référence de cellule dont vous souhaitez supprimer le premier mot.

Maintenant, veuillez saisir ou copier la formule suivante dans une cellule vide :

=RIGHT(A2,LEN(A2)-FIND(" ",A2))

Ensuite, faites glisser la poignée de remplissage vers le bas pour appliquer la formule aux autres cellules, voir capture d'écran :

Astuce : Si vous devez supprimer les N premiers mots des cellules, veuillez utiliser la formule ci-dessous :

=STXT(SUPPRESPACE(texte),1+TROUVE("~",SUBSTITUE(SUPPRESPACE(texte)," ","~",N)),255)
  • "texte" : La chaîne de texte ou la référence de cellule dont vous souhaitez supprimer les n premiers mots ;
  • « N » : Indique le nombre de mots que vous souhaitez supprimer depuis le début de la chaîne de texte.

Par exemple, pour supprimer les deux premiers mots des cellules, veuillez copier ou entrer la formule ci-dessous dans une cellule vide pour obtenir le résultat dont vous avez besoin, voir capture d'écran :

=MID(TRIM(A2),1+FIND("~",SUBSTITUTE(TRIM(A2)," ","~",2)),255)


  Supprimer le dernier mot d'une chaîne de texte avec une formule

Pour supprimer le dernier mot des chaînes de texte, vous pouvez également utiliser une formule pour accomplir cette tâche. La syntaxe générique est la suivante :

=GAUCHE(NETTOYER(texte),TROUVE("~",SUBSTITUE(texte," ","~",NBCAR(NETTOYER(texte))-NBCAR(SUBSTITUE(NETTOYER(texte)," ",""))))-1)
  • "texte": La chaîne de texte ou la référence de cellule dont vous souhaitez supprimer le dernier mot ;

Veuillez utiliser la formule ci-dessous dans une cellule vide, puis faites glisser la poignée de remplissage vers le bas pour appliquer la formule à d'autres cellules, voir capture d'écran :

=LEFT(TRIM(A2),FIND("~",SUBSTITUTE(A2," ","~",LEN(TRIM(A2))-LEN(SUBSTITUTE(TRIM(A2)," ",""))))-1)

Astuce : Pour supprimer les N derniers mots d'une liste de cellules, la syntaxe générique est :

=GAUCHE(texte,TROUVE("~",SUBSTITUE(texte," ","~",NBCAR(texte)-NBCAR(SUBSTITUE(texte," ",""))-(N-1))))
  • "texte": La chaîne de texte ou la référence de cellule dont vous souhaitez supprimer les n derniers mots;
  • "N" : Indique le nombre de mots que vous souhaitez supprimer à la fin de la chaîne de texte.

Supposons que vous souhaitiez supprimer les 3 derniers mots d'une liste de cellules, veuillez utiliser la formule ci-dessous pour obtenir le résultat, voir capture d'écran :

=LEFT(A2,FIND("~",SUBSTITUTE(A2," ","~",LEN(A2)-LEN(SUBSTITUTE(A2," ",""))-(3-1))))


4.2 Supprimer les caractères ou mots en double dans une cellule

Lors de la suppression des valeurs ou lignes en double, Excel propose plusieurs options différentes. Cependant, lorsqu'il s'agit de supprimer certains caractères ou mots en double au sein d'une cellule donnée, il se peut qu'il n'y ait aucune fonctionnalité intégrée adéquate pour résoudre ce problème. Dans ce cas, cette section vous aidera à créer des fonctions définies par l'utilisateur pour traiter cette énigme.

 Supprimer les caractères en double dans une cellule à l'aide d'une fonction définie par l'utilisateur

Si vous avez plusieurs occurrences du même caractère dans une cellule, pour supprimer les caractères en double dans une cellule et ne conserver que les premières occurrences comme le montre la capture d'écran ci-dessous, vous pouvez utiliser la fonction définie par l'utilisateur suivante.

1. Maintenez enfoncées les touches "Alt + F11" pour ouvrir la fenêtre "Microsoft Visual Basic for Applications".

2. Cliquez sur "Insérer" > "Module", puis collez le code suivant dans la fenêtre Module.

Code VBA : Supprimer les caractères en double dans une cellule

Function RemoveDupeschars(pWorkRng As Range) As String
'Updateby Extendoffice
Dim xValue As String
Dim xChar As String
Dim xOutValue As String
Set xDic = CreateObject("Scripting.Dictionary")
xValue = pWorkRng.Value
For i = 1 To VBA.Len(xValue)
    xChar = VBA.Mid(xValue, i, 1)
    If xDic.Exists(xChar) Then
    Else
        xDic(xChar) = ""
        xOutValue = xOutValue & xChar
    End If
Next
RemoveDupeschars = xOutValue
End Function

3. Ensuite, fermez la fenêtre de code, revenez à la feuille de calcul, et entrez cette formule =RemoveDupeschars(A2) dans une cellule vide à côté de vos données, puis faites glisser la poignée de remplissage jusqu'aux cellules où vous souhaitez appliquer cette formule, voir capture d'écran :

Remarque : "A2" est la cellule de données à partir de laquelle vous souhaitez supprimer les caractères en double.

A screenshot showing the formula being applied in Excel to remove duplicate characters from a text string in a cell

Astuce : La fonction est sensible à la casse, elle traite donc les lettres minuscules et majuscules comme des caractères différents.


 Supprimer les mots en double dans une cellule à l'aide d'une fonction définie par l'utilisateur

Supposons que vous ayez les mêmes mots ou chaînes de texte dans une cellule et que vous souhaitiez supprimer tous ces mots identiques de la cellule, comme le montre la capture d'écran ci-dessous. Vous pouvez utiliser la fonction définie par l'utilisateur suivante pour résoudre cette tâche dans Excel.

1. Maintenez enfoncées les touches "Alt + F11" pour ouvrir la fenêtre "Microsoft Visual Basic for Applications".

2. Cliquez sur "Insérer" > "Module", puis collez le code suivant dans la fenêtre Module.

Code VBA : Supprimer les mots en double dans une cellule

Function RemoveDupeswords(txt As String, Optional delim As String = " ") As String
'Updateby Extendoffice
    Dim x
    With CreateObject("Scripting.Dictionary")
        .CompareMode = vbTextCompare
        For Each x In Split(txt, delim)
            If Trim(x) <> "" And Not .exists(Trim(x)) Then .Add Trim(x), Nothing
        Next
        If .Count > 0 Then RemoveDupeswords = Join(.keys, delim)
    End With
End Function

3. Ensuite, fermez la fenêtre de code, revenez à la feuille de calcul, et entrez cette formule =RemoveDupeswords(A2,", ") dans une cellule vide à côté de vos données, puis faites glisser la poignée de remplissage vers les cellules où vous souhaitez appliquer cette formule, voir capture d'écran :

Remarque : « A2 » est la cellule à partir de laquelle vous souhaitez supprimer les mots en double, et la virgule et l'espace (« , ») sont les délimiteurs utilisés pour séparer les chaînes de texte. Vous pouvez les modifier pour utiliser d'autres délimiteurs selon vos besoins.

A screenshot showing the formula being applied in Excel to remove duplicate words from a text string in a cell

Astuce : Cette fonction n'est pas sensible à la casse, les lettres minuscules et majuscules sont traitées comme les mêmes caractères.


4.3 Réduire la chaîne de texte à N mots

Si vous avez une longue chaîne de texte dans une cellule, il se peut que vous souhaitiez réduire cette chaîne à un certain nombre de mots, c'est-à-dire ne conserver que les n premiers mots et supprimer le reste. Cette section va discuter de quelques astuces pour vous aider à réaliser cette tâche dans Excel.

 Réduire la chaîne de texte à N mots avec une formule

Pour réduire une chaîne de texte à N mots, vous pouvez créer une formule basée sur les fonctions GAUCHE, TROUVE et SUBSTITUE. La syntaxe générique est la suivante :

=GAUCHE(texte,TROUVE("~",SUBSTITUE(texte," ","~",N))-1)
  • "texte": La chaîne de texte ou la référence de cellule que vous souhaitez réduire ;
  • "N" : Le nombre de mots que vous souhaitez conserver à partir du côté gauche de la chaîne de texte donnée.

Pour traiter cette tâche, veuillez copier ou entrer la formule ci-dessous dans une cellule vide :

=LEFT(A2,FIND("~",SUBSTITUTE(A2," ","~",B2))-1)

Ensuite, faites glisser la poignée de remplissage vers le bas pour appliquer cette formule aux autres cellules, voir capture d'écran :


 Réduire la chaîne de texte à N mots avec une fonction définie par l'utilisateur

Outre la formule ci-dessus, vous pouvez également créer une fonction définie par l'utilisateur pour résoudre cette tâche, veuillez procéder comme suit :

1. Maintenez enfoncées les touches "Alt + F11" pour ouvrir la fenêtre "Microsoft Visual Basic for Applications".

2. Cliquez sur "Insérer" > "Module", puis collez le code suivant dans la fenêtre Module.

Code VBA : Réduire la chaîne de texte à N mots

Function GetNWords(StrWords As String, Num_of_Words As Integer) As String
'Updateby Extendoffice
Dim xArr
Dim xRes As String
Dim xF As Integer
xStr = StrWords
If (Num_of_Words < 1) Then
    GetNWords = ""
    Exit Function
End If
xArr = Split(xStr, " ")
xRes = ""
On Error Resume Next
For xF = 0 To UBound(xArr)
    If Trim(xArr(xF)) <> "" Then
    Num_of_Words = Num_of_Words - 1
        If xRes = "" Then
            xRes = Trim(xArr(xF))
        Else
            xRes = xRes & " " & Trim(xArr(xF))
        End If
    End If
    If Num_of_Words = 0 Then Exit For
Next
If Num_of_Words = 0 Then
    GetNWords = xRes & "..."
Else
    GetNWords = xRes & "..."
End If
End Function

3. Ensuite, fermez et quittez la fenêtre de code, revenez à la feuille de calcul, et entrez cette formule : =GetNWords(A2,B2) dans une cellule vide, puis faites glisser la poignée de remplissage vers le bas pour appliquer cette formule à d'autres cellules. Seul le nombre spécifique de premiers mots est conservé, comme illustré dans la capture d'écran ci-dessous :

A screenshot showing the result after applying the User Defined Function to trim the text string to a specific number of words in Excel

Meilleurs outils de productivité pour Office

🤖 Kutools AI Aide : Révolutionner l'analyse des données basée sur : Exécution intelligente   |  Générer du code  |  Créer des formules personnalisées  |  Analyser les données et générer des graphiques  |  Invoquer les Fonctions améliorées
Fonctionnalités populaires : Trouver, mise en évidence ou marquer les doublons   |  Supprimer les lignes vides   |  Consolider les colonnes ou les cellules sans perdre de données   |   Arrondir sans formule ...
Super RECHERCHEV : RECHERCHEV avec critères multiples    RECHERCHEV avec valeurs multiples  |   Recherche multi-feuilles   |   Correspondance floue ....
Liste déroulante avancée : Créer rapidement une liste déroulante   |  Liste déroulante dépendante   |  Liste déroulante multi-sélection ....
Gestionnaire de colonnes : Ajouter un nombre spécifique de colonnes  |  Déplacer les colonnes  |  Basculer l'état de visibilité des colonnes masquées  |  Comparer les plages & colonnes ...
Fonctionnalités en vedette : Mise au point de la grille   |  Affichage de conception   |   Barre de formule améliorée    Gestionnaire de classeur & feuille de calcul   |  Bibliothèque dAutoTexte (Auto Text)   |  Sélecteur de date   |  Fusionner les données   |  Crypter/Déchiffrer les cellules    Envoyer un e-mail par liste   |  Super Filtre   |   Filtre spécial (filtrer les cellules avec une police en gras/italique/barré...) ...
Top15 ensembles d'outils12 outils de texte (Ajouter du texte, Supprimer des caractères spécifiques, ...)   |   50+ types de graphiques (Diagramme de Gantt, ...)   |   40+ formules pratiques (Calculer lâge en fonction de la date de naissance, ...)   |   19 outils d'insertion (Insérer un code QR, Insérer une image depuis le chemin, ...)   |  12 outils de conversion (Convertir en mots, Conversion de devises, ...)   |  7 outils de fusion & division (Fusion avancée des lignes, Diviser les cellules, ...)   |   ... et plus

Boostez vos compétences Excel avec Kutools pour Excel, et découvrez une efficacité sans précédent. Kutools pour Excel propose plus de300 fonctionnalités avancées pour augmenter la 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 facilite grandement votre travail

  • Activez la modification 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é de50 %, et réduit des centaines de clics de souris pour vous chaque jour !