Supprimer doublon sous conditions

bonjour je souhaite supprimer les lignes en doublons

exemple

COL1 COL2 COL3 COL4 COL5

A B C

A B C D E

A B C

A1 B1 C1

A1 B1 C1

A1 B1 C1

A1 B1 C1

A1 B1 C1

A2 B2 C2 D2 E2

A2 B2 C2

A2 B2 C2

A2 B2 C2 E3

A2 B2 C2 E4

A2 B2 C2

A2 B2 C2

col1 -col2-col3 en commun donc ligne a supprimer mais garder si colonne5 rempli, si col5 vide alors ne garder qu'une seule lignene garder vide

résultat souhaité

COL1 COL2 COL3 COL4 COL5

A B C D E

A1 B1 C1

A2 B2 C2 D2 E2

A2 B2 C2 E3

A2 B2 C2 E4

Bonjour Cisco le forum

dans ta liste il ne manque pas les deux lignes ci-dessous???

A B C

A2 B2 C2

de plus pourrais-tu nous traduire:

col1 -col2-col3 en commun donc ligne a supprimer mais garder si colonne5 rempli, si col5 vide alors ne garder qu'une seule lignene garder vide

Car cela ne veut rien dire

a+

Papou

bonjour

voici comment j'ai fait pour le moment

Sub SupprimerLesDoublons()
    derLn = Worksheets("listecosse").Range("A" & Rows.Count).End(xlUp).Row
    For Ln = derLn To 2 Step -1
            For lgn = 2 To derLn
                If Range("A" & lgn) = Range("A" & Ln) And Range("f" & lgn) = Range("f" & Ln) Then
                    If Ln <> lgn Then
                        Rows(Ln & ":" & Ln).Delete shift:=xlUp
                    End If
                End If
            Next lgn        
    Next Ln          
End Sub

sauf que je souhaite que les lignes 2-6-8-10-12-14-19-24-28 soit supprimés également elles sont vide et mais on garde que celle ou sont rempli en F

lorsque rien n'est rempli en f alors on ne garde qu'une seule ligne

2excelp.xlsm (30.98 Ko)

Bonjour Cisco38 le forum

je t'ai posé une question et tu réponds à coté avec la macro que tu as actuellement!!!

J'ai compris la demande (du moins je le pense) mais ce que j'ai compris ferais que les deux lignes

A B C

A2 B2 C2

devraient faire parti de ta liste!! et tu n'y a pas répondu oui ou non ??

dans ta macro, tu ne compares que la colonne A et F !!!! tu es loin du compte !!!!!!!

a+

Papou

bonjour

et merci de t’intéresser a mon problème

on pourrait se passer de la colonne b et c étant donné que si la valeur en A est azerty et bien b et c auront toujours la même valeur

A est une référence produit B est la désignation et C une référence fournisseur F est le lieu de stockage

Re bonjour Cisco38 le forum

Bah on ne peux pas le deviner si tu ne le dis pas!!!

Donc à la finale on ne tient donc compte que des doublons colonne A ??

la colonne F on s'en moque ??

a+

Papou

bonjour

voici comment j'ai réussi a faire

Sub SupprimerLesDoublons()
    derLn = Worksheets("listecosse").Range("A" & Rows.Count).End(xlUp).Row
    For Ln = derLn To 2 Step -1
            For lgn = 2 To derLn
                If Range("A" & lgn) = Range("A" & Ln) And Range("f" & lgn) = Range("f" & Ln) Then
                        If Ln <> lgn Then
                        Rows(Ln & ":" & Ln).Delete shift:=xlUp
                    End If
                End If
            Next lgn
    Next Ln
     derLn = Worksheets("listecosse").Range("A" & Rows.Count).End(xlUp).Row
  For Ln = derLn To 2 Step -1
   If Range("A" & Ln) = Range("A" & Ln - 1) And Range("f" & Ln - 1) = "" And Range("f" & Ln) <> "" Then
   Rows(Ln - 1 & ":" & Ln - 1).Delete shift:=xlUp
   End If
    If Range("A" & Ln) = Range("A" & Ln - 1) And Range("f" & Ln) = "" Then
     Rows(Ln & ":" & Ln).Delete shift:=xlUp
   End If
   Next Ln
End Sub

s'il y a une autre solution avec explication je prend et j'apprend

bonjour cisco38 le forum

Et la réponse est encore à côté de la demande qui est pourtant claire et simple!!

Bref si tu as résolu ton problème c’est parfait

Mais je pense que l’on peut faire plus simple et concis

A plus

Papou

Bonjour,

Pour la 1ère partie de ta procédure, tu dois pouvoir utiliser :

Cells(1).CurrentRegion.RemoveDuplicates Columns:=Array(1, 2, 3, 4, 5, 6), Header:=xlYes

bonjour

merci pour la première partie

peut on faire aussi simple pour la deuxieme

Rechercher des sujets similaires à "supprimer doublon conditions"