Suppression de lignes doublons

Bonjour à Toutes et à Tous,

Je cherche à effacer des lignes en doublons d'un fichier, je m'explique :

Je tiens un fichier pour suivre des appareils de mesure, leurs références sont en colonne B (c'est sur cette colone que je veux m'appuyer pour la détection des doublons).

Plusieurs fois par mois je reçois une liste des relances par messagerie sur ce qu'il reste à étalonner.

Je copie cette liste, la place à la fin de mon tableau (ici en bleu dans le fichier joint) et regarde ensuite si la référence n'existe pas déjà.

J'ai commencé en m'inspirant du forum un code pour détecter et supprimez les doublons mais je ne trouve pas comment effacer la ligne entière du doublons, sachant qu'il faudra effacer les lignes récemment ajouter (pour ne pas supprimez les "anciennes" du tableau qui contiennent des infos complémentaires).

Peut être sur ce point ajouter une colonne avec une mise à jour par ligne et ainsi obtenir un critères de plus pour la suppression.

Merci pour votre aide

456suivi-ecme.zip (52.55 Ko)

Bonjour,

Juste pour ête sur avant de te donner le code :

  • c'est la ref en bleu qui est à supprimer en fonction du doublon trouvé entre B4 et B102 ?
  • est-ce que ta liste entre B2 et B102 rique de grandir ou pas ? Si oui, pourquoi ne pas mettre tes données en couleur bleue juste à coté de ton tableau (par exemple en colonne Q

A te relire

Bonjour Dan,

Merci de te pencher sur mon sujet,

-les références en bleu sont les nouvelles données que je copie tous les mois et qui seront a supprimer ou non en fonction des autres références situées au dessus (ici, entre B4 et B104) donc pour ta première question c'est OUI.

- OUI pour ta deuxième question, mon tableau risque au fur et à mesure de grandir en fonction de ce que je copierais tous les mois et de la suppression ou non des lignes trouvées en doublon.

Bonjour à tous, salut Dan,

il y a plusieurs façons de faire, en voici une:

Sub SupprimeDoublons()
Dim Lg&, Lg2&, i&, Plg As Range
        Application.ScreenUpdating = False
    Lg = Range("i" & Rows.Count).End(xlUp).Row      'dernière ligne avant vérif
    Lg2 = Range("a" & Rows.Count).End(xlUp).Row     'dernière ligne ajoutée
    Set Plg = Range(Cells(4, "b"), Cells(Lg, "b"))  'plage avant ajout

    '--- contrôle et supprime doublons (lignes ajoutées) ---
    For i = Lg2 To Lg + 1 Step -1
        If Application.CountIf(Plg, Cells(i, "b")) > 0 Then Rows(i).Delete
    Next i
End Sub

Bonne journée

Claude

re

vois le fichier joint en retour.

Si ok, merci de cloturer le fil en en cliquant sur le V vert à coté du bouton Editer

Amicalement

867suivi-ecme.zip (52.59 Ko)

Merci à vous deux de m'avoir apporter votre aide.

Les deux versions fonctionnent avec une préférence pour celle de Claude.

Merci et à bientôt.

Rechercher des sujets similaires à "suppression lignes doublons"