Supprimer ligne avec doublons même colonne

matrix

XLDnaute Occasionnel
Bonjour à tous,

J'ai un probléme avec un script.

Dans mon fichier Excel, dans la colonne E, à partir de la ligne 3 en descendant, se trouve des noms.

Je voudrais faire en sorte que si le nom apparait plus qu’une fois dans cette même colonne, qui garde la ligne du premier nom en doublons, et qu’il supprime les autres lignes qui suivent toujours du même nom.

Comment faire s.v.p?

Merci pour votre aide.

Voici mon code jusqu'à present
Code:
Private Sub CommandButton2_Click()
Dim Cell As Range
    Dim i As Integer
    Dim Un As New Collection
    
    On Error Resume Next
       
        For Each Cell In Sheets("Export file format").Range("e3:e3000")
            Un.Add Cell, CStr(Cell)
        Next Cell
    On Error GoTo 0
    
    For i = 1 To Un.Count
       
        Sheets("Export file format").Cells(i, 5) = Un.Item(i)
    Next i
End Sub
 

Pièces jointes

  • test.xls
    44.5 KB · Affichages: 101
  • test.xls
    44.5 KB · Affichages: 105
  • test.xls
    44.5 KB · Affichages: 106

pierrejean

XLDnaute Barbatruc
Re : Supprimer ligne avec doublons même colonne

bonjour matrix

Une proposition:

Code:
Sub test()
For n = Range("E65536").End(xlUp).Row To 4 Step -1
  If Range("E" & n - 1) = Range("E" & n) Then Rows(n).Delete
Next n
End Sub

NB: Tient compte du fait que le classement sur la colonne E est fait
 

Pièces jointes

  • matrix_test.zip
    15.5 KB · Affichages: 93

matrix

XLDnaute Occasionnel
Re : Supprimer ligne avec doublons même colonne

Bonjour,

Je dois faire une modification au script de pierrejean.

Code:
Sub test()
For n = Range("E65536").End(xlUp).Row To 4 Step -1
  If Range("E" & n - 1) = Range("E" & n) Then Rows(n).Delete
Next n
End Sub

Dans le script, il cherche les doublons dans la colonne E. Je voudrais modifier pour qu'il cherche les doublons sur 2 colonnes.

Donc, si dans la colonne E il y a des doublons, il va regarder dans la colonne R de la même ligne.

Si la valeur de la colonne E et la valeur de la colonne R se retrouve sur plusieurs lignes, il va garder la première ligne et supprimer les suivantes avec la même valeur.

Comment faire s.v.p?

Merci pour votre aide.
 

Pièces jointes

  • TEST1.xls
    25.5 KB · Affichages: 101
  • TEST1.xls
    25.5 KB · Affichages: 102
  • TEST1.xls
    25.5 KB · Affichages: 104

Cousinhub

XLDnaute Barbatruc
Re : Supprimer ligne avec doublons même colonne

Bonjour,

essaie avec ce code :

Code:
Private Sub CommandButton1_Click()
Dim Cel As Range
Dim MesDonnees As Object, MesDonnees2 As Object
Dim Donnee As String
Dim I As Integer
Dim tmp As Variant
Set MesDonnees = CreateObject("Scripting.Dictionary")
Set MesDonnees2 = CreateObject("Scripting.Dictionary")
For Each Cel In Range("E3:E" & [E65000].End(xlUp).Row)
    Donnee = Cel.Value & Cel.Offset(0, 13).Value
        If Not MesDonnees.Exists(Donnee) Then
            MesDonnees.Add Donnee, Donnee
        Else
            MesDonnees2.Add Cel.Row, Cel.Row
        End If
Next Cel
If MesDonnees2.Count > 0 Then
    tmp = Application.Transpose(MesDonnees2.Items)
    Application.ScreenUpdating = False
    For I = UBound(tmp) To LBound(tmp) Step -1
        Rows(tmp(I, 1)).Delete
    Next I
End If
End Sub

Bon Week-End
 

Discussions similaires

Réponses
0
Affichages
187

Statistiques des forums

Discussions
312 653
Messages
2 090 562
Membres
104 577
dernier inscrit
GOGNAN