Accéder au contenu principal

Kutools for Office — Une Suite. Cinq Outils. Accomplissez Plus.

Comment supprimer des caractères ou mots en double dans une chaîne de texte d'une cellule Excel ?

Author Xiaoyang Last modified

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.


arrow blue right bubble 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.


arrow blue right bubble 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.

Duplicate characters removed from each cell

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 :

Formula entered in the first cell

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.

Formula populated to the below cells

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.

a screenshot of kutools for excel ai

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.
Améliorez vos capacités Excel avec des outils alimentés par l'IA. Téléchargez maintenant et découvrez une efficacité sans précédent !

arrow blue right bubble 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.

Formula entered in the first cell

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 :

Formula populated to the below cells

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

🤖 Kutools AI Aide : Révolutionnez l'analyse de données avec : Exécution intelligente | Générer du code | Créer des formules personnalisées | Analyser des données et générer des graphiques | Appeler les Fonctions améliorées de Kutools
Fonctionnalités populaires : Trouver, mettre en évidence ou marquer les doublons | Supprimer les lignes vides | Combinez les colonnes ou les cellules sans perte de données | Arrondir sans formule...
Super RECHERCHEV : Recherche multi-critères | Recherche multi-valeurs | 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 à sélection multiple...
Gestionnaire de colonnes : Ajouter un nombre spécifique de Colonnes | Déplacer des Colonnes | Alterner l’état de visibilité des Colonnes masquées | Comparer des plages & Colonnes...
Fonctionnalités phares : Mise au point de la grille | Affichage de conception | Barre de formule améliorée | Gestionnaire de Classeur & Feuille de calcul | Bibliothèque d’AutoTexte | Sélecteur de date | Merge Worksheets | Chiffrer/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 des ensembles d’outils :12 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 bien plus encore
Utilisez Kutools dans la langue de votre choix – disponible en Anglais, Espagnol, Allemand, Français, Chinois et plus de40 autres !

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.

Excel Word Outlook Tabs PowerPoint
  • 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