Comment supprimer des caractères ou mots en double dans une chaîne de texte d'une cellule Excel ?
Lorsque vous travaillez avec des données dans Excel, il est assez courant de rencontrer des situations où les cellules contiennent des caractères répétés ou des mots en double. Par exemple, vous pourriez avoir des entrées générées par les utilisateurs, des journaux exportés ou des codes produits dans lesquels des caractères ou des mots peuvent apparaître plusieurs fois. Supprimer ces doublons peut aider à nettoyer vos données pour une analyse ultérieure, améliorer la lisibilité ou préparer les chaînes de texte pour une utilisation dans d'autres systèmes.
Ce guide présente plusieurs méthodes pour supprimer des caractères ou des mots en double dans une seule cellule. Vous pouvez choisir la solution la plus adaptée en fonction de votre version d'Excel, de votre confort technique et du type de délimiteur utilisé dans vos données. Que vos données concernent des caractères individuels ou des mots entiers séparés par des espaces ou de la ponctuation, il existe ci-dessous une approche pratique que vous pouvez utiliser.
- Supprimer des caractères ou mots en double à l'aide de formules Excel (tableaux dynamiques)
- Supprimer des caractères en double d'une chaîne de texte avec une fonction définie par l'utilisateur
- Supprimer des mots en double séparés par de la ponctuation avec une fonction définie par l'utilisateur
Supprimer des caractères ou mots en double à l'aide de formules Excel (tableaux dynamiques)
Si vous utilisez Microsoft 365 ou Excel 2021 et versions ultérieures, vous pouvez tirer parti des formules de tableaux dynamiques pour supprimer des caractères ou mots en double d'une cellule — entièrement sans VBA. Ces fonctions, telles que TEXTSPLIT, UNIQUE, TEXTJOIN et MID, facilitent le fractionnement, la déduplication et la reconstruction de la chaîne directement dans votre feuille de calcul.
Cette méthode est particulièrement recommandée si vous préférez ne pas utiliser de macros, recherchez une solution efficace et êtes à l'aise avec les dernières fonctionnalités de formules d'Excel.
Avantages : Se recalcule instantanément lorsque les données sources changent, pas besoin d'activer des macros ou de disposer de permissions spéciales, la formule peut facilement être appliquée à de grandes plages de données.
Inconvénients : Ne fonctionne que dans Excel pour Microsoft 365, Excel 2021 ou versions ultérieures (ne fonctionne pas dans Excel 2019 ou versions antérieures).
Pour supprimer des caractères en double dans une cellule (par exemple, "banane" → "ban") :
1. Sélectionnez la cellule où vous souhaitez afficher le résultat (par exemple, la cellule B2 à côté de votre cellule source A2) et entrez la formule suivante :
=TEXTJOIN("",,UNIQUE(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1)))
Cette formule divise le contenu de A2 en caractères individuels à l'aide de MID, génère des positions séquentielles à l'aide de ROW(INDIRECT(...)), extrait les caractères uniques avec UNIQUE, puis les combine à nouveau en une chaîne de texte avec TEXTJOIN.
2. Appuyez sur Entrée. Le résultat de la formule affichera la chaîne dans A2 avec les caractères en double supprimés, en conservant l'ordre. Pour appliquer la même opération aux autres lignes, utilisez la poignée de recopie pour copier la formule vers le bas selon les besoins.
Remarque : Si vous voyez une erreur #NOM?, votre version d'Excel ne prend peut-être pas en charge ces fonctions. Assurez-vous d'utiliser Excel pour Microsoft 365 ou Excel 2021 ou versions ultérieures.
Dépannage : Parfois, des espaces supplémentaires ou de la ponctuation peuvent interférer avec les résultats. Envisagez d'utiliser TRIM 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 tableaux dynamiques aide à maintenir votre flux de travail efficace et à jour, et simplifie les tâches de nettoyage des données pour des motifs de chaînes simples et complexes.
Supprimer des caractères en double d'une chaîne de texte avec une fonction définie par l'utilisateur
Si vous avez une plage de cellules contenant des chaînes de texte et que vous devez supprimer les caractères en double de chaque cellule — par exemple, transformer « aabbcc » en « abc » comme illustré ci-dessous — une fonction VBA personnalisée peut vous aider à accomplir cela rapidement, surtout si votre version d'Excel ne prend pas en charge les formules de tableaux avancées.
1. Maintenez les touches ALT + F11 enfoncées pour ouvrir la fenêtre Microsoft Visual Basic pour Applications.
2. Cliquez sur Insertion > Module, puis collez le code suivant dans la fenêtre Module. Assurez-vous d'ajouter le code au début du module pour éviter tout conflit avec d'autres macros que vous pourriez avoir.
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. Ensuite, après avoir enregistré et fermé la fenêtre de code VBA, revenez à votre feuille de calcul. Entrez cette formule =removedupes1(A2) dans une cellule vide à côté de votre texte d'origine (ici, A2 est la cellule contenant la chaîne que vous souhaitez traiter). Voir illustration ci-dessous :
4. Appuyez sur Entrée pour calculer le résultat. Faites glisser la poignée de recopie vers le bas pour appliquer la fonction à toutes les autres cellules pertinentes dans la colonne, et vous verrez que tous les caractères en double sont immédiatement supprimés de chaque cellule correspondante.
Astuce : L'ordre d'apparition est préservé — la fonction conserve la première occurrence de chaque caractère et supprime les doublons ultérieurs 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, assurez-vous que la macro est incluse ou réinsérée dans le fichier cible. De plus, les macros doivent être activées pour que le code fonctionne.

Découvrez la magie d'Excel avec Kutools AI
- Exécution intelligente : Effectuez des opérations sur les cellules, analysez les données et créez des graphiques, le tout piloté par des commandes simples.
- Formules personnalisées : Générez des formules adaptées pour rationaliser vos flux de travail.
- Codage VBA : Écrivez et implémentez du code VBA sans effort.
- Interprétation des formules : Comprenez facilement des formules complexes.
- Traduction de texte : Surmontez les barrières linguistiques dans vos feuilles de calcul.
Supprimer des mots en double séparés par de la ponctuation avec une fonction définie par l'utilisateur
Dans les cas où vos données consistent en des mots séparés par de la ponctuation — tels que des virgules, des points-virgules ou d'autres symboles — vous souhaiterez peut-être supprimer les mots répétés dans chaque cellule tout en ne conservant que la première instance de chaque mot. Cela est particulièrement utile pour les listes de balises, les catégories ou les adresses. Vous pouvez accomplir cela efficacement en utilisant une fonction VBA personnalisée.
1. Maintenez les touches ALT + F11 enfoncées pour ouvrir la fenêtre Microsoft Visual Basic pour Applications.
2. Cliquez sur Insertion > Module, puis collez le code suivant dans la fenêtre Module. Placez le code au début d'un nouveau module si possible, pour plus de clarté.
Code VBA : Supprimer des mots en double séparés par de la ponctuation d'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, entrez 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 (tel que ";" ou espace) si vos mots sont divisés par une ponctuation différente.
4. Appuyez sur Entrée pour confirmer, puis faites glisser la formule vers le bas pour remplir les autres cellules ci-dessous selon les besoins. Après cette étape, tous les mots en double sont supprimés de leurs cellules respectives, laissant les mots uniques dans l'ordre d'origine. Voir le résultat ci-dessous :
Remarque : Dans la formule, vous pouvez modifier à 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 (tels qu'espace et virgule combinés) sont utilisés, des ajustements supplémentaires du code peuvent être nécessaires.
Astuce : Comme pour toutes les macros VBA, n'oubliez pas de conserver une sauvegarde de votre classeur et d'activer les macros pour utiliser cette fonction.
Meilleurs outils de productivité pour Office
Améliorez vos compétences Excel avec Kutools pour Excel, et découvrez une efficacité incomparable. Kutools pour Excel propose plus de300 fonctionnalités avancées pour booster votre productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte l’interface par onglets à Office, simplifiant considérablement 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 chaque jour !
Tous les modules complémentaires Kutools. Une seule installation
La suite Kutools for Office regroupe les modules complémentaires pour Excel, Word, Outlook & PowerPoint ainsi qu’Office Tab Pro, idéal pour les équipes travaillant sur plusieurs applications Office.





- Suite tout-en-un — modules complémentaires Excel, Word, Outlook & PowerPoint + Office Tab Pro
- Un installateur, une licence — installation en quelques minutes (compatible MSI)
- Une synergie optimale — productivité accélérée sur l’ensemble des applications Office
- Essai complet30 jours — sans inscription, ni carte bancaire
- Meilleure valeur — économisez par rapport à l’achat d’add-ins individuels