Suppression des doublons

Bonjour ,

Nouvel arrivant sur le forum, je me tourne vers vous pour obtenir vos lumières :

Dans une première feuille nommée "Suivi des diffusions", je répertorie tous mes plans avec une référence de document pour chaque plan et une désignation.

Suite à cela, à travers une seconde feuille intitulée "Liste des plans", une liste se crée automatiquement suite aux valeurs rentrées dans la première feuille, et classe les plans dans l'ordre croissant des numéros de plans.

Cependant, il arrive que les plans aient le même intitulé et le même numéro mais pas le même indice vu qu'ils ont été modifiés entre 2 diffusions. Pour ce faire, j'aimerais supprimer les doublons dans la feuille "Liste des plans" en gardant le dernier indice, mais en évitant de supprimer les anciens indices dans la première feuille "Suivi des diffusions".

Pour cela, j'ai utilisé un module trouvé sur le net, que vous retrouverez dans le classeur ci-joint qui identifie mes doublons et qui les supprime correctement mais il me supprime également mes lignes d'en tête. J'aimerais que cette macro débute à la ligne "A14" et se termine à la dernière ligne d'écriture.

Vous remerciant par avance pour toute l’aide que vous pourrez m’apporter.

31suivi.zip (91.60 Ko)

Bonsoir,

voici le code modifié :

Sub Suppr_Doublons()
    Dim i As Long, j As Long
    Application.ScreenUpdating = False
    For i = Cells(Rows.Count, 1).End(xlUp).Row To 14 Step -1
        For j = Cells(Rows.Count, 1).End(xlUp).Row To 14 Step -1
            If Cells(j, 4) = Cells(i, 4) Then
                If Cells(j, 6) < Cells(i, 6) Then
                    Cells(j, 1).EntireRow.Delete
                End If
            End If
        Next j
    Next i
End Sub

En surligné les modifications :

Cells(Rows.Count, 1).End(xlUp).Row

en fait le test à l'origine se faisait sur la colonne 8, hors elle est vide !

To 14 Step -1

l'idée est de partir de la ligne vers la plus basse en allant vers la plus haute, hors sur l'original la plus haute était 2 donc forcément les entêtes sont comprises dans les tests et finissent par être effacées !

If Cells(j, 4) = Cells(i, 4) Then

pareil le test se faisait sur la colonne 8 sur l'originale, hors cette colonne est vide !

If Cells(j, 6) < Cells(i, 6) Then

même principe qu'au dessus seulement c'est avec la colonne 10 !

en clair : Cells(ligne,colonne)

@ bientôt

LouReeD

Bonjour,

Merci pour votre aide, ça marche parfaitement.

Bonne journée à vous.

Bonjour,

ravis que cela vous plaise, et merci de votre merci !

@ bientôt

LouReeD

Rechercher des sujets similaires à "suppression doublons"