Supprimer une ligne si doublon dans un champ

Résolu/Fermé
siamens_duj - Modifié par siamens_duj le 2/11/2015 à 09:39
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 - 2 nov. 2015 à 13:33
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.
A voir également:

1 réponse

Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 338
2 nov. 2015 à 10:53
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
0
Bonjour et merci pour votre réponse.

Comment ça efface mais ne supprime pas ?

Je ne comprends pas vraiment la différence.

Merci
0
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 338
2 nov. 2015 à 11:01
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 .
0
Mayot35 Messages postés 523 Date d'inscription mardi 11 mai 2010 Statut Membre Dernière intervention 16 février 2019 60 > Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023
2 nov. 2015 à 12:06
Je suis intéressé par cette manipulation, pour supprimer complètement la ligne comment faut-il faire ?
0
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 338 > Mayot35 Messages postés 523 Date d'inscription mardi 11 mai 2010 Statut Membre Dernière intervention 16 février 2019
2 nov. 2015 à 13:33
Bonjour
Faites la même chose, et finissez par un filtrage des cellules "non vides"
Cdlt
0
ah d'accord merci beaucoup pour l'information et pour votre aide
0