Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Supprimer des lignes à l'aide de VBA avec une condition

Anr1

XLDnaute Occasionnel
Supporter XLD
Bonjour tt le monde,

J'aimerais bien avoir un programme VBA pour supprimer les doublons avec la condition de l'année la plus récente.

Ce que je veux c'est de garder une ligne par doublons de la dernière année!

Vous trouverez en pièce joint une exemple avec la résultats souhaité.

NB: mon fichier de travail contient bcp des lignes

Merci par avance
 

Pièces jointes

  • VBA test.xlsx
    20.5 KB · Affichages: 9
Solution
Bonjour anouarlachiri,
VB:
Sub Supprimer_Doublons()
With [A5].CurrentRegion
    .Sort .Cells(1), xlAscending, .Cells(1, 2), , xlDescending, Header:=xlYes 'tri sur 2 colonnes
    .RemoveDuplicates 1 'supprime les doublons
End With
End Sub
A+

job75

XLDnaute Barbatruc
Bonjour anouarlachiri,
VB:
Sub Supprimer_Doublons()
With [A5].CurrentRegion
    .Sort .Cells(1), xlAscending, .Cells(1, 2), , xlDescending, Header:=xlYes 'tri sur 2 colonnes
    .RemoveDuplicates 1 'supprime les doublons
End With
End Sub
A+
 

Pièces jointes

  • VBA test(1).xlsm
    19.3 KB · Affichages: 5

Anr1

XLDnaute Occasionnel
Supporter XLD
Merci bcp @job75,

Le macro fonction bien sur le fichier que vous m'avez envoyer, il me reste de tester le programme sur ma base
Une petite question : vous pouvez m'expliquer comment vous avez introduit la condition d'année la plus récente dans votre programme ?

Merci bien
 

AC045364

XLDnaute Junior
Voici une première ébauche.
Attention. Les données doivent être copiées dans la feuille Data.
Pour partir le programme, faire un clic droit dans la cellule A1.
Daniel
 

Pièces jointes

  • VBA test.xlsm
    32.3 KB · Affichages: 2

job75

XLDnaute Barbatruc
Re; bonsoir AC045364,

Si l'on veut les résultats dans une autre feuille c'est très simple, le code de la 2ème feuille :
VB:
Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
Cells.Delete 'RAZ
Feuil1.[A5].CurrentRegion.Copy [A1]
With UsedRange
    .Sort .Cells(1), xlAscending, .Cells(1, 2), , xlDescending, Header:=xlYes 'tri sur 2 colonnes
    .RemoveDuplicates 1 'supprime les doublons
End With
End Sub
La macro se déclenche quand on active la feuille.

A+
 

Pièces jointes

  • VBA test(2).xlsm
    19.1 KB · Affichages: 5

Anr1

XLDnaute Occasionnel
Supporter XLD
Mon problème est résolu grâce à vous!

Merci
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…