Suppression de valeurs de texte en double (Microsoft Excel)
Tout le monde se heurte à un moment ou à un autre à la nécessité de supprimer les entrées en double d’une liste d’entrées de texte. Supposons que vous ayez les valeurs de texte dans la colonne A d’une feuille de calcul et qu’elles s’exécutent sur environ 500 lignes. Si vous souhaitez supprimer des doublons de la liste, vous recherchez peut-être le moyen le plus simple de le faire. Il existe en fait plusieurs façons d’accomplir cette tâche dans Excel.
Utilisation de l’outil Supprimer les doublons
La méthode la plus simple consiste peut-être à sélectionner les données à partir desquelles vous souhaitez supprimer les doublons, puis à afficher l’onglet Données du ruban. Cliquez sur l’outil Supprimer les doublons, dans le groupe Outils de données. Excel affiche la boîte de dialogue Supprimer les doublons.
L’avantage de la boîte de dialogue Supprimer les doublons est qu’elle répertorie les noms de chaque colonne de vos données. (L’outil suppose que vous avez des étiquettes d’en-tête dans la première ligne de vos données.) Vous pouvez ensuite vous assurer qu’il y a une coche à côté de chaque colonne que vous souhaitez vérifier pour les doublons. Lorsque vous cliquez sur le bouton OK, vos données sont analysées et les lignes en double sont supprimées. (Encore une fois, les doublons sont déterminés en fonction des colonnes sélectionnées dans la boîte de dialogue Supprimer les doublons.)
Utilisation du filtrage des données
Une autre méthode manuelle consiste à utiliser le filtrage des données pour déterminer les valeurs uniques. Assurez-vous que la colonne a une étiquette en haut de celle-ci, puis sélectionnez une cellule dans la colonne. Affichez l’onglet Données du ruban et cliquez sur Avancé dans le groupe Trier et filtrer. Utilisez les commandes de la boîte de dialogue résultante pour indiquer que vous souhaitez copier les valeurs uniques vers un autre emplacement que vous spécifiez.
Utilisation d’une formule
Vous pouvez également utiliser une formule pour déterminer manuellement les doublons dans la liste. Triez les valeurs dans la colonne, puis entrez la formule suivante dans la cellule B2:
=IF(A2=A1,"Duplicate","")
Copiez la formule dans toutes les cellules de la colonne B qui ont une valeur correspondante dans la colonne A. Sélectionnez toutes les valeurs de la colonne B et appuyez sur Ctrl + C. Utilisez Collage spécial pour coller uniquement les valeurs dans les mêmes cellules sélectionnées. Vous avez maintenant converti les formules en leurs résultats.
Triez les deux colonnes en fonction du contenu de la colonne B, et toutes vos lignes en double seront dans une zone. Supprimez ces lignes et vous avez votre liste de valeurs uniques.
Utilisation d’une macro
Les approches manuelles sont rapides et faciles, mais si vous devez régulièrement supprimer des valeurs en double d’une colonne, une macro peut être plus votre style.
La macro suivante repose sur le filtrage des données, tout comme la méthode manuelle précédente:
Sub CreateUniqueList() Dim rData As Range Dim rTemp As Range Set rData = Range(Range("a1"), Range("A1048576").End(xlUp)) rData.EntireColumn.Insert Set rTemp = rData.Offset(0, -1) rData.AdvancedFilter _ Action:=xlFilterCopy, _ CopyToRange:=rTemp, _ Unique:=True rTemp.EntireColumn.Copy _ rData.EntireColumn Application.CutCopyMode = False rTemp.EntireColumn.Delete Set rData = Nothing Set rTemp = Nothing End Sub
La macro crée une colonne temporaire, utilise un filtrage avancé pour copier les valeurs uniques dans cette colonne, puis supprime la colonne de données d’origine.
Le résultat est juste des valeurs uniques dans la colonne A. Si vous ne voulez pas que votre macro utilise la fonction de filtrage des données d’Excel, alors la macro beaucoup plus courte suivante fera l’affaire:
Sub RemoveDups() Dim rData As Range Set rData = Range(Range("a1"), Range("A1048576").End(xlUp)) rData.RemoveDuplicates Columns:=Array(1), Header:=xlYes End Sub
La clé de cette macro utilise la méthode RemoveDuplicates, qui repose sur un tableau qui contient les numéros de colonne dont vous souhaitez vérifier les doublons. La macro illustrée ici n’opère que sur le contenu de la colonne A, mais vous pouvez facilement la modifier pour qu’elle fonctionne sur les données de plusieurs colonnes. Tout ce que vous auriez à faire est de changer rData pour qu’il représente la plus grande zone de données, puis de modifier le paramètre des colonnes afin qu’il pointe vers les colonnes que vous souhaitez vérifier:
rData.RemoveDuplicates Columns:=Array(1,4), Header:=xlYes
Une autre approche macro-basée consiste à développer votre propre code pour vérifier les valeurs de l’ensemble de données, de cette manière:
Sub DelDups() Dim rngSrc As Range Dim NumRows As Integer Dim ThisRow As Integer Dim ThatRow As Integer Dim ThisCol As Integer Dim J As Integer, K As Integer Application.ScreenUpdating = False Set rngSrc = ActiveSheet.Range(ActiveWindow.Selection.Address) NumRows = rngSrc.Rows.Count ThisRow = rngSrc.Row ThatRow = ThisRow + NumRows - 1 ThisCol = rngSrc.Column 'Start wiping out duplicates For J = ThisRow To (ThatRow - 1) If Cells(J, ThisCol) > "" Then For K = (J + 1) To ThatRow If Cells(J, ThisCol) = Cells(K, ThisCol) Then Cells(K, ThisCol) = "" End If Next K End If Next J 'Remove cells that are empty For J = ThatRow To ThisRow Step -1 If Cells(J, ThisCol) = "" Then Cells(J, ThisCol).Delete xlShiftUp End If Next J Application.ScreenUpdating = True End Sub
La macro fonctionne sur une sélection que vous faites avant de l’appeler. Ainsi, si vous devez supprimer les cellules en double de la plage A2: A974, sélectionnez simplement cette plage, puis exécutez la macro. Lorsque la macro est terminée, les cellules dupliquées sont supprimées, tout comme les cellules vides.
_Note: _
Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.
lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur]
.
ExcelTips est votre source pour une formation Microsoft Excel rentable.
Cette astuce (12711) s’applique à Microsoft Excel 2007, 2010, 2013, 2016, 2019 et Excel dans Office 365. Vous pouvez trouver une version de cette astuce pour l’ancienne interface de menu d’Excel ici:
link: / excel-Deleting_Duplicate_Text_Values [Suppression des valeurs de texte en double]
.