Excel : supprimer des caractères, mots, nombres des chaînes de texte
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
- 1.1 Supprimer les n premiers caractères des chaînes de texte
- 1.2 Supprimer les n derniers caractères des chaînes de texte
- 1.3 Supprimer les premiers, derniers n caractères ou certains caractères à une position spécifique en utilisant une fonctionnalité puissante
- 1.4 Supprimer à la fois les n premiers et les n derniers caractères des chaînes de texte avec une formule
2. Supprimer les caractères indésirables / spéciaux de la chaîne de texte
- 2.1 Supprimer certains caractères spéciaux des chaînes de texte
- 2.2 Supprimer tous les nombres des chaînes de texte
- 2.3 Supprimer les caractères non numériques des chaînes de texte
- Supprimer les caractères non numériques des chaînes de texte avec une formule dans Excel 2016 et les versions antérieures
- Supprimer les caractères non numériques des chaînes de texte avec la fonction TEXTJOIN dans Excel 2019, 2021, 365
- Supprimer les caractères non numériques des chaînes de texte avec une fonction définie par l'utilisateur
- Supprimer les caractères non numériques des chaînes de texte avec une fonctionnalité simple
- 2.4 Séparer le texte et les nombres d'une cellule en deux colonnes
- 2.5 Supprimer les caractères de saut de ligne des chaînes de texte
- Supprimer les caractères de saut de ligne des chaînes de texte avec la fonction Rechercher et Remplacer
- Supprimer les caractères de saut de ligne des chaînes de texte avec la fonction SUBSTITUT
- Supprimer les caractères de saut de ligne des chaînes de texte avec le code VBA
- Supprimer les caractères de saut de ligne des chaînes de texte avec une option intelligente
- 2.6 Supprimer les espaces (espaces avant, après, superflus ou tous les espaces) des chaînes de texte
3. Supprimer des caractères / texte avant ou après un caractère spécifique
- 3.1 Supprimer le texte avant ou après le premier caractère spécifique
- 3.2 Supprimer le texte avant ou après la N-ième occurrence d'un caractère
- 3.3 Supprimer le texte avant ou après la dernière occurrence d'un caractère
- 3.4 Supprimer le texte entre parenthèses
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 :
- "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 :
- "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.
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 :
- "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.
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.
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.
- "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 :
- "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).
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.
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 :
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.
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 :
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.
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 :
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 :
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.
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 :
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.
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.
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 :
- "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 :
- "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 :
- "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 :
- "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)
Supprimer le texte après la deuxième occurrence d'une virgule
=RemoveTextOccurrence(A2, ", ", 2, TRUE)
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 :
- "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 :
- "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 :
- "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 :
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 :
- "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 :
- "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 :
- "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 :
- "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.
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.
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 :
- "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 :
Meilleurs outils de productivité pour Office
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 !