supprimer doublons sur 40000 lignes

  • Initiateur de la discussion Initiateur de la discussion eillon
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

E

eillon

Guest
Bonjour,

Je recherche un "truc" un peu complexe, sur deux listes de 20 000 lignes, il faut que je dégage les doublons et comparer si les restant appartiennent à la liste 1 ou 2.

Je peux mettre les lignes sur colonnes A et B de la même feuille.

En fait je voudrais déplacer les doublons colonnes A et B en Feuil2 et qu'il reste dans chaque colonne Feuil1 les uniques correspondant aux colonnes.
 

Pièces jointes

Re : supprimer doublons sur 40000 lignes

Bonsoir bhbh, eillon,

voici un autre code.
Cette macro tien également compte des doublons qui sont dans la même colonne.

Code:
Sub test()
Dim copier As Boolean, doublon As Boolean
Dim liste As New Collection

For ligneG = Range("a65536").End(xlUp).Row To 1 Step -1
    On Error Resume Next
    liste.Add Cells(ligneG, 1), CStr(Cells(ligneG, 1))
    If Err.Number <> 0 Then
        Cells(ligneG, 1).Delete
        GoTo suite
    End If
    On Error GoTo 0
    doublon = False
    copier = False
    For ligneD = Range("b65536").End(xlUp).Row To 1 Step -1
        If Cells(ligneD, 2) = Cells(ligneG, 1) Then
            doublon = True
            If copier = False Then
                Sheets(2).Range("a65536").End(xlUp).Offset(1, 0) = Cells(ligneD, 2)
                copier = True
            End If
            Cells(ligneD, 2).Delete
        End If
    Next
    If doublon = True Then
        Cells(ligneG, 1).Delete
    End If
suite:
Next
        
End Sub
 
Re : supprimer doublons sur 40000 lignes

Bonsoir eillon, re bhbh, skoobi,

Dans Insertion/Nom/Définir tu te positionnes sur Base et tu modifies dans fait référence à : et tu remplaces après B$ le 11 par ce que tu veux 40000, par exemple.

Celà risque d'être beaucoup plus long.

Bon courage.

Jean-Pierre

Edit : ben oui bien mieux bhbh
 
Dernière édition:
Re : supprimer doublons sur 40000 lignes

Bonsoir,
ceci n'était qu'un exemple, comme d'ailleurs ton fichier....
tu auras remarqué dans le code :

Range("base")

la zone nommée base dans le fichier est figée, il ne reste qu'à le rendre dynamique.
Pour ceci, tu fais Insertion/Nom/Définir, tu cliques sur "base", et tu colles en bas dans la cellule "Fait référence à : "

=DECALER(Feuil1!$A$1;;;NBVAL(Feuil1!$A:$A);2)

valable pour x lignes (à concurrence de 65536) et 2 colonnes

Edit : collision jeanpierre
pour le temps de travail, avec le filtre élaboré, c'est quand même assez rapide, même si la formule NB.SI prend un peu de temps.
 
Dernière édition:
Re : supprimer doublons sur 40000 lignes

Re,

Peux-tu expliquer ton lien ?, il n'apporte rien

En fait, je l'avais vu plus tôt, et heureusement que je suis de bonne humeur.
Le multipostage, c'est bien mais merci de le préciser pour ceux qui bossent pour toi
 
Dernière édition:
Re : supprimer doublons sur 40000 lignes

Bonsoir,
tu fais de la publicité comparative? 😉
Je n'ai pas ouvert les fichiers proposé sur l'autre site, mais d'après ton énoncé, ma solution te donne le bon résultat.
Au lieu de montrer d'autres solutions, dis ce qui cloche dans les diverses solutions parce que voir ceci sur un autre site :

Sinon j'ai ça, mais je trouve que ça reste long, je ne sais pas si on peut accélérer une macro...
il est vrai que 40000 lignes, ça fait beaucoup.

code fourni par Skoobi, et dont tu n'as jamais fait la même remarque...
Explique exactement ce que tu veux, ou multi-poste à ton goût, mais ai au moins la décence de faire tes remarques concernant une solution sur le fil te l'ayant fourni

Edit : jeanpierre, on dirait que je suis de moins bonne humeur que toi
 
Re : supprimer doublons sur 40000 lignes

Re bhbh,

D'accord avec toi, c'est agaçant, surtout si l'on présente ton code ailleurs en disant : j'ai fait ça et ça marche pas....

Je n'ai pas tout suivi sur l'affaire, mais ce n'est pas la première fois.... ce genre de truc...

On multiposte, je dis POINT FINAL... On présice, c'est sympa., simple et sans plus de conséquence....

On va me prendre pour le chien de garde, mais je n'y tiens pas compte tenu de la nouvelle loi..... Risquerais de me faire piquer avant terme....

Salut à toi... et pour l'humeur, ce soir et là dessus, elle s'est un peu dégradée....

Donc, tu n'es pas seul

Jean-Pierre
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
16
Affichages
556
  • Question Question
XL 2021 Doublons
Réponses
7
Affichages
272
Réponses
1
Affichages
373
Réponses
2
Affichages
531
Retour