Comment supprimer les lignes en double sous Excel tout en conservant uniquement celles contenant les valeurs les plus élevées ?
Par exemple, vous disposez d’un tableau d’achats dans Excel, tel qu’illustré dans la première capture d’écran. Vous souhaitez maintenant supprimer les lignes en double en vous basant sur la colonne « Fruit », tout en conservant, pour chaque fruit, la valeur la plus élevée de la colonne « Montant », comme le montre la deuxième capture d’écran. Une idée en tête ? Cet article vous présente deux méthodes efficaces pour y parvenir.
Supprimer Ligne en double et conserver uniquement les valeurs les plus élevées avec une macro VBA
Supprimer Ligne en double et conserver uniquement les valeurs les plus élevées avec Kutools pour Excel
Supprimer Ligne en double et conserver uniquement les valeurs les plus élevées avec une macro VBA
Supposons que vous disposiez d’un tableau tel qu’illustré dans la capture d’écran ci-dessous. Cette méthode propose une macro VBA permettant de supprimer les lignes en double en fonction d’une colonne donnée, tout en conservant uniquement celles dont la valeur est la plus élevée dans une autre colonne sous Excel. Procédez comme suit :

1. Appuyez simultanément sur 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 nouvelle fenêtre de module qui s’ouvre.
VBA : supprimer Ligne en double et conserver les valeurs les plus élevées
Public Sub DelDupes()
Dim xFilterRg As Range
Dim xCriteriaRg As Range
Dim xAddress As String
Dim xSUpdate As Boolean
On Error Resume Next
xAddress = Application.ActiveWindow.RangeSelection.Address
Set xFilterRg = Application.InputBox("Please select a range:", "Kutools for Excel", xAddress, , , , , 8)
If xFilterRg Is Nothing Then Exit Sub
Set xFilterRg = Application.Intersect(ActiveSheet.UsedRange, xFilterRg)
If xFilterRg Is Nothing Then Exit Sub
On Error GoTo 0
xSUpdate = Application.ScreenUpdating
Application.ScreenUpdating = False
Set xCriteriaRg = ActiveSheet.Cells(1, xFilterRg.Column + xFilterRg.Columns.Count).Resize(2)
xCriteriaRg.Resize(1).Offset(1).Formula = "=COUNTIF(" & xFilterRg(2, 1).Address & ":" & _
xFilterRg(2, 1).Address(False, False) & "," & _
xFilterRg(2, 1).Address(False, False) & ")>1"
With xFilterRg
.Sort key1:=xFilterRg.Cells(1, 1).Offset(0, 1), order1:=xlDescending, Header:=xlYes
.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=xCriteriaRg
.Offset(1).SpecialCells(xlCellTypeVisible).EntireRow.Delete
.Parent.ShowAllData
End With
xCriteriaRg.Clear
Application.ScreenUpdating = xSUpdate
End Sub 3. Appuyez sur la touche F5 ou cliquez sur le bouton Exécuter pour exécuter cette macro VBA.
4. Une boîte de dialogue s’affiche maintenant. Veuillez sélectionner les colonnes selon lesquelles vous souhaitez supprimer les lignes en double tout en conservant les valeurs les plus élevées, puis cliquez sur le bouton OK.

Dans notre exemple, nous allons supprimer les lignes en double en fonction de la colonne « Fruit » tout en conservant les valeurs les plus élevées dans la colonne « Montant » ; j’ai donc sélectionné les colonnes « Fruit » et « Montant », comme illustré dans la capture d’écran ci-dessus.
Vous constaterez alors que les lignes en double ont été supprimées en fonction de la colonne « Fruit », et que les valeurs les plus élevées correspondant à chaque fruit ont été conservées dans la colonne « Montant ». Voir la capture d’écran :

Remarques:
(1) La plage limitée doit commencer par la colonne sur la base de laquelle vous supprimez les lignes en double.
(2) Cette macro VBA ne conserve que les valeurs les plus élevées dans la colonne située immédiatement après celle utilisée comme critère pour supprimer les lignes en double.
(3) Cette macro VBA n’est pas compatible avec Microsoft Excel 2007.
Supprimer Ligne en double et conserver uniquement les valeurs les plus élevées avec Kutools pour Excel
La macro VBA ci-dessus peut sembler trop complexe pour certains utilisateurs, et elle ne permet de conserver que les valeurs les plus élevées dans la colonne située juste après la colonne critère. Heureusement, l’utilitaire Fusion avancée des lignes de Kutools pour Excel vous permet de résoudre ce problème en toute simplicité.
Kutools pour Excel – Doté de plus de 300 outils essentiels pour Excel, il rend vos tâches plus rapides, plus simples et plus efficaces.Téléchargez dès maintenant !
1. Sélectionnez le tableau dans lequel vous souhaitez supprimer les lignes en double tout en conservant les valeurs les plus élevées (sélectionnez A1:C24 dans notre cas), puis cliquez sur Kutools > Fusionner et scinder > Fusion avancée des lignes.
2. Dans la boîte de dialogue « Combinez les lignes basé sur la colonne » qui s’ouvre, effectuez les réglages suivants :
(1) Sélectionnez la colonne « Fruit » (celle selon laquelle vous allez Supprimer les doublons les lignes), puis cliquez sur le bouton Clé primaire;
(2) Sélectionnez la colonne « Montant » (celle dans laquelle vous souhaitez conserver les valeurs les plus élevées), puis cliquez sur Calculer > Max.
(3) Définissez les règles de combinaison des autres colonnes selon vos besoins.

3. Cliquez sur le bouton OK. Toutes les lignes en double seront alors supprimées en fonction de la colonne « Fruit », et seule la valeur maximale correspondant à chaque fruit sera conservée dans la colonne « Montant ». Voir la capture d’écran :

L’utilitaire Fusion avancée des lignesde Kutools pour Excel permet facilement de Combinez les lignes selon une colonne, puis d’effectuer des calculs sur les autres colonnes à partir de cette même colonne, tels que Somme, Nombre, Max, Min, Produit, etc.Cliquez ici pour bénéficier d’un essai gratuit de 60 jours, sans limitation !
Démo : supprimer Ligne en double et conserver uniquement les valeurs les plus élevées sous Excel
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