Comment supprimer les caractères ou mots en double dans une chaîne d’une cellule Excel ?
Lorsque vous travaillez avec des données dans Excel, il est assez courant de rencontrer des situations où des cellules contiennent des caractères répétés ou des mots en double. Par exemple, vous pourriez avoir des saisies utilisateur, des journaux exportés ou des codes produits dans lesquels des caractères ou des mots apparaissent plusieurs fois. La suppression de ces doublons permet de nettoyer vos données pour une analyse ultérieure, d’améliorer la lisibilité ou de préparer les chaînes à être utilisées dans d’autres systèmes.
Ce guide vous présente plusieurs méthodes efficaces pour supprimer les caractères ou les mots en double au sein d’une même cellule. Choisissez celle qui convient le mieux à votre version d’Excel, à votre niveau de compétence technique et au type de délimiteur utilisé dans vos données. Que vos doublons soient des caractères individuels ou des mots entiers séparés par des espaces ou une ponctuation, une solution pratique vous attend ci-dessous.
- Supprimer les caractères ou mots en double à l’aide d’une formule Excel (tableau dynamique)
- Supprimer les caractères en double d’une chaîne de texte avec une fonction définie par l’utilisateur
- Supprimer les mots en double séparés par une ponctuation avec une fonction définie par l’utilisateur
Supprimer les caractères ou mots en double à l’aide d’une formule Excel (tableau dynamique)
Si vous utilisez Microsoft 365, Excel 2021 ou une version ultérieure, profitez des formules de tableau dynamique pour supprimer facilement les caractères ou mots en double d’une cellule — sans avoir besoin de VBA ! Grâce à des fonctions telles que TEXTSPLIT, UNIQUE, TEXTJOIN et STXT, fractionnez, éliminez les doublons et reconstituez votre chaîne directement dans votre feuille de calcul.
Cette méthode est particulièrement recommandée si vous préférez éviter les macros, recherchez une solution efficace et maîtrisez les dernières fonctionnalités de formules d’Excel.
Avantages : Recalcul instantané dès que les données sources changent, aucune macro à activer ni permission spéciale requise, et la formule s’applique facilement à de grandes plages.
Inconvénients : Fonctionne uniquement avec Excel pour Microsoft 365, Excel 2021 ou versions ultérieures (ne fonctionne pas avec Excel 2019 ou les versions antérieures).
Pour supprimer les caractères en double au sein d’une cellule (par exemple, « banana » → « ban ») :
1. Sélectionnez la cellule où vous souhaitez afficher le résultat (par exemple, la cellule)B2 située à côté de votre cellule source A2) et saisissez la formule suivante :
=TEXTJOIN("",,UNIQUE(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1))) Cette formule fractionne le contenu de A2 en caractères individuels à l’aide de STXT, génère des positions séquentielles avec LIGNE(INDIRECT(...)), extrait les caractères uniques grâce à UNIQUE, puis les recombine en une chaîne de texte à l’aide de TEXTEJOIN.
2. Appuyez sur Entrée. Le résultat de la formule affiche la chaîne de A2 avec les caractères en double supprimés, tout en conservant leur ordre d’apparition. Pour appliquer la même opération aux autres lignes, utilisez la poignée de recopie afin d’étendre la formule vers le bas selon vos besoins.
Remarque : Si vous voyez une erreur #NOM?, c’est probablement que votre version d’Excel ne prend pas en charge ces fonctions. Vérifiez que vous utilisez Excel pour Microsoft 365, Excel 2021 ou une version ultérieure.
Dépannage : Parfois, des espaces superflus ou une ponctuation inattendue peuvent perturber les résultats. Pensez à utiliser SUPPRESPACE ou TEXTSPLIT avec des arguments supplémentaires si vos données ne sont pas formatées de manière cohérente.
L’utilisation de formules de tableau dynamique contribue à rendre votre flux de travail plus efficace et à jour, et simplifie les tâches de nettoyage de données, qu’il s’agisse de motifs de chaînes simples ou complexes.
Supprimer les caractères en double d’une chaîne de texte avec une fonction définie par l’utilisateur
Si vous disposez d’une plage de cellules contenant des chaînes de texte et que vous souhaitez supprimer les caractères en double dans chaque cellule — par exemple, transformer « aabbcc » en « abc », comme illustré ci-dessous — une fonction personnalisée en VBA vous permet d’accomplir cette tâche rapidement, particulièrement si votre version d’Excel ne prend pas en charge les formules de tableau avancées.

1. Maintenez enfoncées les touches ALT + F11 pour ouvrir la fenêtre Microsoft Visual Basic pour Applications.
2. Cliquez sur Insertion > Module, puis collez le code suivant dans la fenêtre du module. Veillez à insérer ce code près du début du module afin d’éviter tout conflit avec d’autres macros éventuellement présentes.
Code VBA : Supprimer les caractères en double d’une chaîne de texte dans une cellule
Function RemoveDupes1(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
RemoveDupes1 = xOutValue
End Function
3. Après avoir enregistré et fermé la fenêtre de code VBA, retournez à votre feuille de calcul. Saisissez la formule suivante dans une cellule vide adjacente à votre texte original (ici,)A2 est la cellule contenant la chaîne à traiter) : =removedupes1(A2). Voir l’illustration ci-dessous :

4. Appuyez sur Entrée pour calculer le résultat. Faites glisser la poignée de recopie vers le bas afin d’appliquer la formule à toutes les autres cellules pertinentes de la colonne, et vous verrez immédiatement tous les caractères en double disparaître de chaque cellule correspondante.

Astuce : L’ordre d’apparition est conservé : la fonction conserve la première occurrence de chaque caractère et supprime les suivantes dans la cellule.
Précaution : Les fonctions définies par l’utilisateur (UDF) ajoutées via VBA ne sont disponibles que dans le classeur où le code est stocké. Si vous déplacez ou partagez votre classeur, veillez à ce que la macro soit incluse ou réinsérée dans le fichier cible. Par ailleurs, les macros doivent être activées pour que le code s’exécute.

Libérez la magie d’Excel avec Kutools IA
- Exécution intelligente : effectuez des opérations sur les cellules, analysez des données et créez des graphiques, le tout à partir de commandes simples.
- formules personnalisées : créez des formules sur mesure pour rationaliser vos flux de travail.
- Programmation VBA : Écrivez et implémentez du code VBA en toute simplicité.
- Interprétation de formules : Décryptez facilement les formules complexes.
- Traduction de texte : Franchissez les barrières linguistiques directement depuis vos feuilles de calcul.
Supprimer les mots en double séparés par une ponctuation avec une fonction définie par l’utilisateur
Lorsque vos données contiennent des mots séparés par une ponctuation — comme des virgules, des points-virgules ou d’autres symboles — vous pouvez souhaiter supprimer les doublons au sein de chaque cellule en ne conservant que la première occurrence de chaque mot. Cette approche est particulièrement utile pour les listes de balises, les catégories ou les adresses, et s’effectue efficacement à l’aide d’une fonction VBA personnalisée.
1. Maintenez enfoncées les touches ALT + F11 pour ouvrir la fenêtre Microsoft Visual Basic pour Applications.
2. Cliquez sur Insertion > Module, puis collez le code suivant dans la fenêtre du module. Pour plus de clarté, placez-le de préférence au début d’un nouveau module.
Code VBA : Supprimer les mots en double séparés par une ponctuation dans une cellule
Function RemoveDupes2(txt As String, Optional delim As String = " ") As String
Dim x
'Updateby Extendoffice
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 RemoveDupes2 = Join(.keys, delim)
End With
End Function
3. Après avoir enregistré et fermé la fenêtre VBA, revenez à votre feuille de calcul. Dans une colonne vide adjacente à vos données, saisissez cette formule : =RemoveDupes2(A2,","). Ici, A2 fait référence à votre cellule cible et "," indique le signe de ponctuation utilisé comme séparateur. Vous pouvez remplacer cette virgule par un autre caractère (comme « ; » ou un espace) si vos mots sont séparés par une ponctuation différente.

4. Appuyez sur Entrée pour confirmer, puis faites glisser la formule vers le bas afin de la recopier dans les cellules situées en dessous selon vos besoins. À l’issue de cette étape, tous les mots en double sont supprimés de leurs cellules respectives, ne laissant que les mots uniques dans leur ordre d’origine. Voir le résultat ci-dessous :

Remarque : Dans la formule, vous pouvez adapter à la fois la référence de cellule et le séparateur de ponctuation en fonction de vos données. Si plusieurs caractères ou différents types de séparateurs (comme une combinaison d’espace et de virgule) sont utilisés, une adaptation supplémentaire du code pourrait s’avérer nécessaire.
Astuce : Comme pour toutes les macros VBA, pensez à sauvegarder votre classeur et à activer les macros pour pouvoir utiliser cette fonction.
Meilleurs outils de productivité Office
Boostez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée.Kutools pour Excel propose plus de 300 fonctionnalités avancées pour améliorer votre productivité et Gagner du temps.Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office et rend votre travail bien plus facile
- Activez l’édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de 50 % et vous fait économiser des centaines de clics de souris chaque jour !
Tous les compléments Kutools. Un seul installateur
Kutools for Office regroupe les compléments pour Excel, Word, Outlook et PowerPoint, ainsi que Office Tab Pro, ce qui en fait le choix idéal pour les équipes travaillant à travers les applications Office.
- Suite tout-en-un— Compléments Excel, Word, Outlook et PowerPoint + Office Tab Pro
- Un seul installateur, une seule licence— installation en quelques minutes (compatible MSI)
- Fonctionne mieux ensemble— productivité optimisée dans toutes les applications Office
- Essai gratuit de 30 jours avec toutes les fonctionnalités— aucune inscription, aucune carte bancaire
- Meilleur rapport qualité-prix— économisez par rapport à l’achat de compléments individuels