Quel code utiliser pour supprimer des lignes identiques ?

  • Initiateur de la discussion Initiateur de la discussion isa1969kt
  • 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 !

I

isa1969kt

Guest
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

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

Dernière édition:
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 !
 
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

Dernière édition:
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
 
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:
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 !!!!
 
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

Re : Quel code utiliser pour supprimer des lignes identiques ?

Bonsoir à tous

Roussette35
Personne pour m'aider ??
Si Excel en personne, tout simplement. 😉
SupDoublons.png
 
- 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

Retour