suppréssion des 2 lignes doubles

tiki421

XLDnaute Nouveau
Bonjour à tous,

Je ne suis pas alaise avec Excel et voici mon problème.
J’ai une feuille avec plus de 200 000 lignes sur 5 colonnes.
Certaines lignes sont doubles et je souhaiterai avoir dans une nouvelle feuille les lignes uniques. Cela revient aussi à supprimer les deux doublons.

J’ai parcouru le forum, mais je n’ai pas trouvé de solution.

Merci d’avance pour vos idées ou suggestions.

Michel
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : suppréssion des 2 lignes doubles

Bonsoir Tiki, bienvenu dans le forum, bonsoir le forum,

Qu'entends-tu exactement par lignes doubles ? veux-tu dire que les 5 cellules (colonnes A, B, C, D et E ?) de la ligne X sont strictements identiques aux cinq cellules de la ligne Y ?
Dans l'ordre ? Ou peut-on aussi considérer comme doublons une ligne dont les cellules sont équivalentes mais pas dans l'ordre ?

Comme tu vois. il nous manque des informations pour pouvoir aller de l'avant. Comme tu es tout nouveau dans le forum je te recommande de lire la Lien supprimé du forum qui indique les meilleurs plans pour obtenir une réponse. Comme par exemple un fichier exemple pour qu'on puisse mieux cerner ton problème. Dans une feuille quelques données dans l'autre ce que tu désirerais obtenir...
 

tiki421

XLDnaute Nouveau
Re : suppréssion des 2 lignes doubles

Effectivement, au départ les 5 cellules (colonnes A, B, C, D et E ) de la ligne X sont strictement identiques aux cinq cellules de la ligne Y et dans le même ordre.

Puis, sur la feuille de résultat (les lignes uniques) je relance la même démarche, mais sur 4 cellules (colonnes A, B, C, D ). Les valeurs de la ligne X sont strictement identiques aux quatre cellules de la ligne Y et dans le même ordre.

Ainsi de suite.

Pour le moment j’ai décidé d’utiliser le programme mDF XLdoublons qui est une merveille.
J’ai découpé la feuille de 200 000 lignes en 3 feuilles que j’ouvre avec Excel 2003.

Idéalement c’est le même type de programme qu’il me faudrait sous Excel 2010.
 

ouali

XLDnaute Junior
Re : suppréssion des 2 lignes doubles

Bonjour,

Je me permet de venir aux nouvelles. Est-ce que quelqu'un a une solution pour supprimer les doublons, je possède également une liste de deux colonnes. Et j'aimerais que les lignes double (même chose dans les 2 colonnes et dans le même ordre) se supprime automatiquement !

Merci d'avance pour votre réponse.
 

littlefog

XLDnaute Nouveau
Re : suppréssion des 2 lignes doubles

Bonjour à tous,

J'ai une question un peu similaire à tiki421 mais plus simple encore je pense.
J'ai un tableau avec une seule colonne comprenant plusieurs doublons.
Je veux supprimer les lignes en double, totalement. La fonction "supprimer les doublons" conserve une des deux lignes, ce que je ne veux pas. Je veux supprimer les deux doublons.

Merci beaucoup
 

Chalafraiz

XLDnaute Nouveau
Re : suppréssion des 2 lignes doubles

Bonjour.

Voir pièce jointe pour tester le code suivant (Attention, ne fonctionne QUE pour des doublons, non des triplettes et plus, et comme l'a souligné Efgé, seulement si les doublons se suivent) :
Sub test()
' Variable d'itération
Dim i As Integer
i = 1
' On fait la boucle tant qu'il n'y a des valeurs dans la première colonne
Do While Cells(i, 1).Value <> ""
i = i + 1
' Si doublon, alors on supprime les deux et on se repositionne à la ligne au dessus
If Cells(i, 1).Value = Cells(i - 1, 1).Value Then
Rows(i).Delete
Rows(i - 1).Delete
i = i - 1
End If
Loop
End Sub
Macro en Feuil1, a adapter selon vos fichiers (pas de fichier exemple donc j'ai fait un code tout bête).

Si quelqu'un à une meilleure idée, je suis toute ouïe.
 

Pièces jointes

  • Classeur1.xlsm
    14.2 KB · Affichages: 186
  • Classeur1.xlsm
    14.2 KB · Affichages: 197
  • Classeur1.xlsm
    14.2 KB · Affichages: 206
Dernière édition:

Efgé

XLDnaute Barbatruc
Re : suppréssion des 2 lignes doubles

Bonjour Chalafraiz, le fil , le forum

...Si quelqu'un à une meilleure idée, je suis toute ouïe...

Peut être pas meilleure, bien que ta proposition ne fonctionne que si les données sont triées ;-) , mais peut être plus rapide :
VB:
Sub test_2()
Dim i&, J&, Rng As Range
Dim Dico As Object, TData As Variant, TReport As Variant, C As Variant


'Creation d'un dictionnaire
Set Dico = CreateObject("Scripting.dictionary")


'Création de l'objet Range (Rng) avec la plage $A$1 (.Cells(1,1))
'jusqu'a la dernière cellule remplie en colonne A (.Cells(.Rows.Count, 1).End(3))
With Sheets("Feuil1")
    Set Rng = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(3))
End With


'Passage des valeurs de la plage dans le tableau TData
TData = Rng
   
' Pour chaque ligne du tableau TData
For i = LBound(TData, 1) To UBound(TData, 1)
    'On incrémente le dictionnaire
    'D.clé = D.Cle valeur
    Dico(TData(i, 1)) = Dico(TData(i, 1)) + 1
Next i


'on dimentionne le tableau TReport
'Autant de ligne que de clés dans le dico (1 To Dico.Count)
'1 to 1 pour avoir un tableau à deux dimentions
ReDim TReport(1 To Dico.Count, 1 To 1)


'Pour chaque clé du dico
For Each C In Dico.Keys
    'Si la clé na été rencontrée qu'une foi
    If Dico(C) = 1 Then
        'on incrémente la variable J
        J = J + 1
        'la ligne J du tableau TReport est égale à la clé du dico
        TReport(J, 1) = C
    End If
'Prochainee clé
Next C


'Blocage de l'affichage écran (confort visuel ;) )
Application.ScreenUpdating = False
'Avec la plage définie
With Rng
    'on la vide
    .ClearContents
    'on la redimentionne de
    'J lignes et 1 colonne
    'et on y met le tableau TReport
    .Resize(J, 1) = TReport
End With


End Sub

Cordialement
 

ralph45

XLDnaute Impliqué
Re : suppréssion des 2 lignes doubles

Bonjour le forum et à tous,

Solution de bidouille manuelle et en partant du gabarit énoncé plus haut (5 colonnes) sur lesquelles on veut supprimer les 2 lignes doublonnées, voire triples, quadruples à condition que les données soient triées... A mettre en F2 :
Code:
=SI(OU(EXACT(CONCATENER(A2;B2;C2;D2;E2);CONCATENER(A1;B1;C1;D1;E1));(EXACT(CONCATENER(A2;B2;C2;D2;E2);CONCATENER(A3;B3;C3;D3;E3))));"Doublon";"OK !")
Tirer sur le bas, ce qui fera apparaitre dans une colonne adjacente les doublons, il suffira d'appliquer un filtre sur le mot "Doublon".
Sélectionner les lignes filtrées + clic droit = "Supprimer la ligne" du menu contextuel.

Voir PJ et A+
 

Pièces jointes

  • DOUBLON.xlsm
    11.9 KB · Affichages: 167
  • DOUBLON.xlsm
    11.9 KB · Affichages: 152
  • DOUBLON.xlsm
    11.9 KB · Affichages: 162
Dernière édition:

laetitia90

XLDnaute Barbatruc
Re : suppréssion des 2 lignes doubles

bonjour tous :):):):)

on peut utiliser ce code a partir d'excel 2007 a adapter

pour 5 colonnes

Code:
Sub es()
  Range("$A$1:$E$" & Cells(Rows.Count, 1).End(3).Row).RemoveDuplicates _
  Columns:=Array(1, 2, 3, 4, 5)
End Sub
 

littlefog

XLDnaute Nouveau
Re : suppréssion des 2 lignes doubles

Je n'ai cité que Chalafraiz car c'était la première réponse et donc celle que j'ai suivi. Mais je ne doute pas que les autres fonctionnaient également !

Merci en tout cas à tous pour votre aide. Et oui j'ai bien fait attention à ce que les doublons se suivent !
 

Discussions similaires

Statistiques des forums

Discussions
312 491
Messages
2 088 889
Membres
103 982
dernier inscrit
krakencolas