Supprimer des doublons non triés sur une colonne

Kernoz

XLDnaute Occasionnel
Bonjour à tous !

Je cherche depuis 3 plombes à faire un petit bout de code mais j'ai beau essayer je n'y arrive pas ...

J'ai une macro qui ajoute des données à la suite d'un tableau existant en fonction de dates.
Je voudrais, si par exemple un utilisateur active la macro pour une date deja renseignée ou si les données de cette date ont changées :
* supprimer les anciennes valeurs ( les plus hautes dans le range ) et garder celles qui viennent d'être collées ( les plus basses ).

J'ai essayé avec "RemoveDuplicates" mais cela supprime la ligne la plus basse ...
J'ai essayé en triant mais la ligne basse reste en dessous ...
J'ai essayé avec Application.CountIf mais ca ne marche pas ...
J'ai entendu parler de l'objet dictionary mais je ne connais pas du tout ...

Bref, il me faut un coup de main :p J'ai mis un exemple en PJ.

Merci d'avance !
 

Pièces jointes

  • ExDoublons.xlsm
    10 KB · Affichages: 47

thebenoit59

XLDnaute Accro
Re : Supprimer des doublons non triés sur une colonne

Bonsoir.

Une idée de code :
Code:
Sub sansdoublon()
Dim d As Object, ds As Object
Dim dligne As Long, ligne As Long
Set d = CreateObject("scripting.dictionary"): Set ds = CreateObject("scripting.dictionary")
dligne = [b65000].End(xlUp).Row
For ligne = dligne To 7 Step -1
    If Not d.exists(Cells(ligne, 6).Value) Then
        d(Cells(ligne, 6).Value) = ""
            Else: ds(Cells(ligne, 6).Value) = ligne
    End If
Next
For Each c In ds.items
    Rows(c).Delete
Next
End Sub

Bonne soirée.
 

laetitia90

XLDnaute Barbatruc
Re : Supprimer des doublons non triés sur une colonne

bonjour tous:):)

si pas trop de lignes on peut ecrire comme cela aussi !!

Code:
Dim m As Object, i As Long
   Set m = CreateObject("Scripting.Dictionary")
   For i = Cells.Find("*", , , , , xlPrevious).Row To 7 Step -1
   If m.Exists(Cells(i, 6).Value) Then _
   Rows(i).Delete Else m.Add Cells(i, 6).Value, Cells(i, 6).Value
   Next i
 

Discussions similaires

Statistiques des forums

Discussions
312 316
Messages
2 087 182
Membres
103 491
dernier inscrit
bilg1