Suppression doublons VBA à adapter

Bonjour,

J'ai un petit problème avec le code ci-dessous, il marche vachement bien pour la suppression des doublons car il replace en même temps.

Le problème c'est que je ne peux rien inscrire dans les colonnes autours de la colonne i car aussi tôt que la macro ce lance, elle supprime tout se qui est autour ..

Et c'est pas pratique.. J'ai des champs à compléter autour de cette colonne..

Je vous joins un petit fichier tout simple essayez de marquer quelque chose autour de la colonne i et vous verrez tout se supprime.

Voici le code :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim Unique As Object, Cel As Range
Set Unique = CreateObject("Scripting.Dictionary")
    For Each Cel In Range("i2:i" & [i65000].End(xlUp).Row)
        If Not Unique.Exists(Cel.Value) Then Unique.Add Cel.Value, Cel.Value
    Next Cel
    Range("i2:i" & [i65000].End(xlUp).Row).EntireRow.ClearContents
    Range("i2:i" & Unique.Count + 1) = Application.Transpose(Unique.items)
End Sub

Merci !!! =)

15copie-de-test.zip (10.15 Ko)

Bonjour

supprime le Entirerow pour ne garder que

 Range("i2:i" & [i65000].End(xlUp).Row).ClearContents

Cordialement

Amadéus a écrit :

Bonjour

supprime le Entirerow pour ne garder que

 Range("i2:i" & [i65000].End(xlUp).Row).ClearContents

Cordialement

Bonjour,

Merci beaucoup pour ton aide mais du coup lorsqu'il y a un doublon, se qui est inscrit autour n'est pas effacé ^^

Pour t'éclairer un peu, ce code s'appliquera sur un tableau où chaque ligne est un import automatique par le biais d'une autre macro !!

Du coup, la ligne entière est à supprimer lorsque qu'une occurence est trouvé en colonne I.

Bonjour

Limite le champ d'action de déclenchement à la colonne I en rajoutant la 2ème ligne

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("I:I")) Is Nothing Then

Cordialement

Dzl Amadéus mais ça ne marche toujours pas..

A vrai dire ça ne change rien...

Je t'invite à essayer avec mon fichier joins au dessus.

Marque quelque chose en H, J K, E, et tu verras que tout est supprimé si se n'est aps dans la colonne I.

Sans le EntireRow oui ça ne supprime plus ce qu'il y a autour mais dans le cas où des choses sont inscrites dans les colonnes correspondant à une ligne de doublon, ces champs ne seront pas supprimés...

12copie-de-test.zip (11.43 Ko)

Bonjour

Normal que tout s'efface, l'instruction

Range("i2:i" & [i65000].End(xlUp).Row).EntireRow.ClearContents

efface toutes les lignes dans leur intégralité.

Cordialement

et donc je fais comment au final ???

Rechercher des sujets similaires à "suppression doublons vba adapter"