Supprimer une ligne si doublon dans un champ [Résolu/Fermé]

Signaler
-
Messages postés
2102
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
4 août 2020
-
Bonjour,

J'ai un tableau avec pas mal de données et tout les jours j'importe d'autres données.
J'aimerais que, quand il y a un doublon, mon code efface toute la ligne où il y a le champ qui comporte le doublon.
Actuellement mon code efface juste la cellule où il y a le doublon.

Sub SupDoublonsColonne()
Set d = CreateObject("Scripting.Dictionary")
Set début = Cells(5, 4) 'C'est dans la colonne D qu'on recherche un doublon
a = Range(début, début.End(xlDown))
For Each c In a
d(c) = ""
Next c
Range(début, début.End(xlDown)).ClearContents début.Resize(d.Count, 1) = Application.Transpose(d.keys)
End Sub


J'ai également essayé de mettre :

Range(début, début.End(xlDown)).ClearContents.EntireRow


Mais cela efface toutes les données qu'il y a dans le tableau.

Quelqu'un saurez comment effacer la ligne où la cellule comporte un doublon.

1 réponse

Messages postés
2102
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
4 août 2020
278
Bonjour
Ceci efface la ligne en doublon (mais ne la supprime pas)
Sub SupDoublonsColonne()
    Set D = CreateObject("Scripting.Dictionary")
    Set début = Cells(5, 4)
    For Each c In Range(début, début.End(xlDown))
        If Not D.exists(c.Text) Then D(c.Text) = "" Else Range(Cells(c.Row, 1), Cells(c.Row, 16000)).EntireRow.ClearContents
    Next c
End Sub

Cdlt
Bonjour et merci pour votre réponse.

Comment ça efface mais ne supprime pas ?

Je ne comprends pas vraiment la différence.

Merci
Messages postés
2102
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
4 août 2020
278
Ce que vous avez demandez, c'est l'effacement de la ligne en doublon, vous aurez donc une ligne vidée de son contenu, mais la ligne est toujours là.
La suppression, comme son nom l'indique supprime la ligne en doublon, ce qui fait remonter les lignes situées en dessous. ainsi, vous n'aurez pas de lignes vides .
Messages postés
526
Date d'inscription
mardi 11 mai 2010
Statut
Membre
Dernière intervention
16 février 2019
50 >
Messages postés
2102
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
4 août 2020

Je suis intéressé par cette manipulation, pour supprimer complètement la ligne comment faut-il faire ?
Messages postés
2102
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
4 août 2020
278 >
Messages postés
526
Date d'inscription
mardi 11 mai 2010
Statut
Membre
Dernière intervention
16 février 2019

Bonjour
Faites la même chose, et finissez par un filtrage des cellules "non vides"
Cdlt
ah d'accord merci beaucoup pour l'information et pour votre aide