Quel code utiliser pour supprimer des lignes identiques ?

isa1969kt

XLDnaute Nouveau
Re-Bonjour à toutes et à tous,
J'ai un fichier (61000 lignes) sur lequel je veux supprimer toutes les lignes identiques à l'aide d'un code (identiques uniquement sur les critères NOM+COMMERCIAL+CODE POSTAL).
Je joins un extrait de mon fichier, est-ce quelqu'un peut m'aider ?
Merci
Cordialement
 

Pièces jointes

  • ESSAI SUPPRESSION LIGNES IDENTIQUES.xls
    17.5 KB · Affichages: 248

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Quel code utiliser pour supprimer des lignes identiques ?

Bonjour,

Voir PJ

Code:
Sub SupDoublons()    '0,23 sec pour 10.000 éléments
  Application.ScreenUpdating = False
  Set f1 = Sheets("feuil1")
  a = f1.Range("A1").CurrentRegion.Value
  Set mondico = CreateObject("Scripting.Dictionary")
  For i = 1 To UBound(a)
    temp = a(i, 3) & a(i, 6) & a(i, 9)
    If Not mondico.exists(temp) Then mondico.Add temp, i
  Next
  Dim c()
  ReDim c(1 To mondico.Count, 1 To UBound(a, 2))
  ligne = 1
  For Each i In mondico.items
     For k = 1 To UBound(a, 2): c(ligne, k) = a(i, k): Next k
     ligne = ligne + 1
  Next i
  Sheets("feuil2").[A1].Resize(mondico.Count, UBound(a, 2)) = c
  Sheets("feuil2").Select
End Sub

JB
Formation Excel VBA JB
 

Pièces jointes

  • Copie de ESSAI SUPPRESSION LIGNES IDENTIQUES.xls
    37 KB · Affichages: 269
  • Copie de ESSAI SUPPRESSION LIGNES IDENTIQUES.xls
    37 KB · Affichages: 272
  • Copie de ESSAI SUPPRESSION LIGNES IDENTIQUES.xls
    37 KB · Affichages: 285
Dernière édition:

isa1969kt

XLDnaute Nouveau
Re : Quel code utiliser pour supprimer des lignes identiques ?

Bonjour QUINCY,
Je l'ai bien évidemment téléchargé et utilisé à plusieurs reprises, mais je n'ai pas trouvé comment supprimer totalement les lignes, l'outil permet de supprimer les doublons, mais ce que je veux c'est supprimer toutes les lignes identiques et non uniquement les doublons. Je ne sais pas si je me fais bien comprendre, je ne veux pas en conserver 1 sur 2, mais bien tout supprimer.
Merci !
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Quel code utiliser pour supprimer des lignes identiques ?

Voir PJ


Code:
Sub SupDoublons()     ' 2 sec pour 65.000 lignes
  Application.ScreenUpdating = False
  Set f1 = Sheets("feuil1")
  a = f1.Range("A1").CurrentRegion.Value
  Set mondico = CreateObject("Scripting.Dictionary")
  Set mondico2 = CreateObject("Scripting.Dictionary")
  For i = 1 To UBound(a)
    temp = a(i, 3) & a(i, 6) & a(i, 9)
    mondico(temp) = mondico(temp) + 1
  Next
  For i = 1 To UBound(a)
    temp = a(i, 3) & a(i, 6) & a(i, 9)
    If mondico.Item(temp) = 1 Then mondico2(temp) = i
  Next
  Dim c()
  ReDim c(1 To mondico.Count, 1 To UBound(a, 2))
  ligne = 1
  For Each i In mondico2.items
     For k = 1 To UBound(a, 2): c(ligne, k) = a(i, k): Next k
     ligne = ligne + 1
  Next i
  Sheets("résultat").[A1].Resize(mondico.Count, UBound(a, 2)) = c
  Sheets("résultat").Select
End Sub

JB
 

Pièces jointes

  • Copie de ESSAI SUPPRESSION LIGNES IDENTIQUES.xls
    37 KB · Affichages: 320
  • Copie de ESSAI SUPPRESSION LIGNES IDENTIQUES.xls
    37 KB · Affichages: 302
  • Copie de ESSAI SUPPRESSION LIGNES IDENTIQUES.xls
    37 KB · Affichages: 311
Dernière édition:

isa1969kt

XLDnaute Nouveau
Re : Quel code utiliser pour supprimer des lignes identiques ?

Oui, c'est bien le résultat attendu, mais je ne parviens pas à le transposer sur mon fichier.
J'ai également essayer de copie mon fichier sur la feuill1 de votre classeur excel, mais ça ne fonctionne pas.
Je dois commettre une erreur quelque part mais où ?
Merci
 

Quincy

XLDnaute Occasionnel
Supporter XLD
Re : Quel code utiliser pour supprimer des lignes identiques ?

... ce que je veux c'est supprimer toutes les lignes identiques et non uniquement les doublons...
Merci !


Cette macro te laisse le choix de tout parametrer et notamment ceci.

1) Selectionne dans le tableau qui reproduit ton fichier tes colonnes de critères
2) Selectionne "Toutes les occurences doublons"
3) Bien veiller à ce que la case " Respecter la casse lors de la comparaison" soit cochée
4) Utilise l'encadré "Cibler le traitement sur" et coche "toutes sauf première occurence"

Cordialement
Quincy
 
Dernière édition:

isa1969kt

XLDnaute Nouveau
Re : Quel code utiliser pour supprimer des lignes identiques ?

Bonsoir
Merci BOISGONTIER, je viens enfin de comprendre pourquoi cela ne fonctionnait pas sur mon fichier ....il fallait tout simplement lancer la macro !!!!! avec d'autres codes elle se lançait toute seule ....enfin je progresse doucement !
Merci pour votre aide ! et certainement à bientôt car j'ai encore plein de pb non rérolus !!!!
 

Roussette35

XLDnaute Nouveau
Re : Quel code utiliser pour supprimer des lignes identiques ?

Bonjour,

Je souhaiterais également la même fonction : supprimer les lignes identiques
mais lorsque j'utilise le code je suis bloquée à cette ligne :
temp = a(i, 3) & a(i, 6) & a(i, 9)

ci-joint le fichier

Merci d'avance pour votre aide
 

Pièces jointes

  • Supprimer_Lignes_identiques.xlsm
    57.4 KB · Affichages: 97

Staple1600

XLDnaute Barbatruc
Re : Quel code utiliser pour supprimer des lignes identiques ?

Bonsoir à tous

Roussette35
Personne pour m'aider ??
Si Excel en personne, tout simplement. ;)
SupDoublons.png
 

Discussions similaires

Réponses
22
Affichages
788

Statistiques des forums

Discussions
312 320
Messages
2 087 226
Membres
103 497
dernier inscrit
JP9231