Supprimer doublons avec condition

Bonjour ,

j'ai un tableau qui contient des doublons sur la colonne sinistre , je voudrais supprimer une seul ligne avec comme condition voir le montant le plus petit .est ce que possible de le faire .

45test-01.xlsx (10.59 Ko)

bonjour,

solution via une macro (hypothèse les doublons se suivent)

Sub aargh()
    dl = Cells(Rows.Count, 1).End(xlUp).Row
    While dl > 5
        If Cells(dl, 2) = Cells(dl - 1, 2) Then
            If Cells(dl, 11) <= Cells(dl - 1, 11) Then
                Rows(dl - 1).Delete shift:=xlUp
            Else
                Rows(dl).Delete shift:=xlUp
            End If
        End If
        dl = dl - 1
    Wend
End Sub

Bonjour ,

désole mais essayer çà ne marche pas

bonjour,

En effet j'ai laissé un bug. j'ai corrigé le code dans ma première réponse.

bonjour,

En effet j'ai laissé un bug. j'ai corrigé le code dans ma première réponse.

J'ai pas compris , ca marche toujours pas

bonjour

un essai

24abbdermino.xlsx (16.28 Ko)

cordialement

pret pour 145 sinistres dédoublonnés

cordialement

mais moi je veux supprimer les doublons , je veux garde un sinon je vais faussé mes state

bonjour,

J'ai pas compris , ca marche toujours pas

ça me semble en tout cas fonctionner sur le fichier que tu as mis.

38ahamadas.xlsm (17.14 Ko)

est ce que c'est normal que ça tarde beaucoup

Bonsoir

La macro n’est pas optimisée pour un nombre important de lignes.

voici un code optimisé pour un grand nombre de lignes.( cfr Jacques Boisgontier)

Sub aargh()
    With Sheets("feuil1")
        dl = .Cells(Rows.Count, 1).End(xlUp).Row
        a = .Range("L1:L" & dl)
        For i = 6 To dl
            a(i, 1) = 0
            If .Cells(i, 2) = ck Then
                If .Cells(i, 11) <= .Cells(vmin, 11) Then
                    a(vmin, 1) = "X"
                    vmin = i
                Else
                    a(i, 1) = "X"
                End If
            Else
                ck = .Cells(i, 2)
                vmin = i
            End If
        Next i
        .Range("L1:L" & dl) = a
        .Range("A6:L" & dl).Sort key1:=.Range("L6"), order1:=xlAscending, Header:=xlNo
        .Range("L6:L" & dl).SpecialCells(xlCellTypeConstants, 2).EntireRow.Delete
        .Range("L:L").Delete shift:=xlToLeft
    End With
End Sub

Merci beaucoup

Rechercher des sujets similaires à "supprimer doublons condition"