Comment supprimer les lignes en double et ne conserver que les valeurs les plus élevées dans Excel ?
Par exemple, vous avez une table d'achat dans Excel comme le montre la première capture d'écran. Maintenant, vous devez supprimer les lignes en double en fonction de la colonne Fruit et conserver les valeurs les plus élevées des fruits correspondants dans la colonne Montant, comme le montre la deuxième capture d'écran. Avez-vous une solution en tête ? Cet article partagera deux astuces pour résoudre ce problème.
Supprimer les lignes en double et ne conserver que les valeurs les plus élevées avec VBA
Supprimer les lignes en double et ne conserver que les valeurs les plus élevées avec Kutools pour Excel
Supprimer les lignes en double et ne conserver que les valeurs les plus élevées avec VBA
Supposons que vous ayez une table comme le montre la capture d'écran ci-dessous. Cette méthode introduira une macro VBA pour supprimer les lignes en double en fonction d'une certaine colonne et ne conserver que les valeurs les plus élevées dans une autre colonne dans Excel. Veuillez procéder 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 Module qui s'ouvre.
VBA : Supprimer les lignes en double et ne conserver que 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 apparaît maintenant. Veuillez sélectionner les colonnes dans lesquelles vous souhaitez supprimer les lignes en double et conserver les valeurs les plus élevées, puis cliquez sur le bouton OK.
Dans notre cas, nous allons supprimer les lignes en double par la colonne Fruit et conserver les valeurs les plus élevées dans la colonne Montant, donc je sélectionne la colonne Fruit et la colonne Montant comme le montre la capture d'écran ci-dessus.
Ensuite, vous verrez que les lignes en double sont supprimées en fonction de la colonne Fruit, et les valeurs les plus élevées des fruits correspondants sont conservées dans la colonne Montant. Voir la capture d'écran :
Remarques :
(1) La plage spécifiée doit commencer par la colonne à partir de laquelle vous supprimerez les lignes en double.
(2) Ce VBA ne peut conserver que les valeurs les plus élevées dans la colonne juste après celle où vous avez supprimé les doublons.
(3) Ce VBA ne fonctionne pas dans Microsoft Excel 2007.
Supprimer les lignes en double et ne conserver que les valeurs les plus élevées avec Kutools pour Excel
Le VBA ci-dessus peut ne pas être assez simple pour certains utilisateurs, et il ne peut conserver que les valeurs les plus élevées dans la colonne derrière la colonne de critères. Mais l'utilitaire Fusion avancée des lignes de Kutools pour Excel vous aidera à résoudre facilement ce problème.
Kutools pour Excel - Regorge de plus de 300 outils essentiels pour Excel. Profitez de fonctionnalités IA définitivement gratuites ! Téléchargez dès maintenant !
1. Sélectionnez la table dans laquelle vous supprimerez les lignes en double et conserver les valeurs les plus élevées (sélectionnez A1:C24 dans notre cas), puis cliquez sur Kutools > Fusionner et diviser > Fusion avancée des lignes.
2. Dans la boîte de dialogue Combiner les lignes basées sur une colonne qui s'ouvre, veuillez configurer comme suit :
(1) Sélectionnez la colonne Fruit (à partir de laquelle vous supprimerez les lignes en double), puis cliquez sur le bouton Clé principale ;
(2) Sélectionnez la colonne Montant (dans laquelle vous conserverez les valeurs les plus élevées), puis cliquez sur Calculer > Maximum.
(3) Spécifiez les règles de combinaison pour les autres colonnes selon vos besoins.
3. Cliquez sur le bouton OK . Ensuite, vous verrez que toutes les lignes en double sont supprimées en fonction de la colonne Fruit et seuls les valeurs maximales des fruits correspondants sont conservées dans la colonne Montant. Voir la capture d'écran :
L'utilitaire Fusion avancée des lignes de Kutools pour Excel peut facilement combiner les lignes par une colonne, puis calculer les autres colonnes en fonction de cette colonne, telles que Somme, Décompte, Maximum, Minimum, Produit, etc. Cliquez pour un essai gratuit de 60 jours, sans limitation !
Démo : supprimer les lignes en double et ne conserver que les valeurs les plus élevées dans Excel
Meilleurs outils de productivité pour Office
Boostez vos compétences Excel avec Kutools pour Excel, et découvrez une efficacité sans précédent. Kutools pour Excel propose plus de300 fonctionnalités avancées pour augmenter la 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 facilite grandement 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 pour vous chaque jour !