comment supprimer lignes identi

  • Initiateur de la discussion jean
  • Date de début
J

jean

Guest
Bonjour au forum

j'ai un probleme sur une macro
je cherche a supprimer toutes les lignes identiques entre 2 pages pour coller le resultat donc ce qui reste sur une 3 pages

si vous voulez bien regarder le fichier ci joint c'est exactement ce qu'il me faut.

merci au forum [file name=jean_.zip size=2412]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/jean_.zip[/file]
 

Pièces jointes

  • jean_.zip
    2.4 KB · Affichages: 72

ThomasR

XLDnaute Occasionnel
Bonjour Jean,

Je pense qu'il est plus que temps pour toi de lire la charte car cela fait

3 fois en 2 jours que je vois ta demande

Hier j'ai même vu dans une de tes demande une macro que je t'avais fais.

si elle ne te convient pas ou presente des defaul il ne faut pas ouvrir un nouveau poste mais repondre en precisant ce qui ne va pas.

je te rejoint la reponse que j'avais fait dans l'ancien poste.
tu me diras ce qui ne va pas

Thomas® [file name=1_20050614091635.zip size=10430]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/1_20050614091635.zip[/file]
 

Pièces jointes

  • 1_20050614091635.zip
    10.2 KB · Affichages: 109
J

jean

Guest
merci thomas

en fait je n'arrive pas a adapter ton code pour les autres pages de mon classeur. je voudrais savoir sur quelle variable jouer.
je voudrais reutiliser le code pour les pages 4,5,6 et ainsi de suite

peux tu m'aider?

merci
 
J

jean

Guest
salut thomas

je ne comprend pas cette partie du code, que designe sheets(1) et sheets(2), que veut dire for i=1 et for u=1
si je veux supprimmer les lignes qui se repetent sur feuille 3 et 4 et coller ce qui reste feuille 5 il faut changer quoi?

For i = 1 To Sheets(1).Range('A65000').End(xlUp).Row
For u = 1 To Sheets(2).Range('A65000').End(xlUp).Row
If Sheets(1).Range('A' & i) = Sheets(2).Range('A' & u) And Sheets(1).Range('B' & i) = Sheets(2).Range('B' & u) And Sheets(1).Range('C' & i) = Sheets(2).Range('C' & u) And Sheets(1).Range('D' & i) = Sheets(2).Range('D' & u) Then
Sheets(2).Range('A' & u).Select
ActiveCell.EntireRow.Delete
End If
Next u
Next i
 

ThomasR

XLDnaute Occasionnel
re,

voici un 1er exemple

mais ceci ma rappelé que mon ami Hellboy m'a appris une technique plus souple de cell au lieu de range ce qui permet de boucler sur les colonne avec moins de code (et ausi la possibilité de choisir combien de colonne a comparer)

@+
Thomas® [file name=1v2.zip size=14599]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/1v2.zip[/file]
 

Pièces jointes

  • 1v2.zip
    14.3 KB · Affichages: 119

ThomasR

XLDnaute Occasionnel
jean,

pour repondre à ta question de tout à l'heure

Sheets(1) est la feuille 1 si tu mets 2 ce sera la feuille 2 ainsi de suite

sinon tu peux les nommer

Sheets('Feuil1')

pour ce qui est de i = 1 et u = 1

c'est une boucle for to

donc je lui dit tu commence à un (tu peux mettre autre choses selon l'endroit ou ce trouve le tableau) jusque ... pour i j'ai dit

Sheets(1).Range('A65000').End(xlUp).Row

ce qui signifi la derniere cellule non vide de la feuille 1 collone A

donc pour for i il va faire i = 1 puis 2 ,3..... jusqu'a la derniere cellule non vide

idem pour u

de là je commence les condition .
 

ThomasR

XLDnaute Occasionnel
Bonjour le forum,

Je poste une mise à jour avec la selection du nombre de colonne à comparer.

@+
Thomas® [file name=Doublon.zip size=16603]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Doublon.zip[/file]
 

Pièces jointes

  • Doublon.zip
    1.5 KB · Affichages: 122
  • Doublon.zip
    1.5 KB · Affichages: 130
  • Doublon.zip
    1.5 KB · Affichages: 131

thotmes

XLDnaute Nouveau
Re : comment supprimer lignes identi

Salut ThomasR,

j'ai un tri similaire à celui de jean à réaliser.
j'ai essayé ton code et il marche très bien sur les petites listes...
mais les listes que je veux comparer comportent toutes les deux aux alentours de 13000 entrées...
Avec ton système, il y aurait donc dans mon cas environ 169000000 de comparaisons à effectuer... ca fait un peu beaucoup!
j'ai quand meme essayé de lancer la macro. Comme prévu, elle fonctionne mais est très longue à s'effectuer et je l'ai coupée avant la fin.

est-ce qu'il y aurait une autre manière de supprimer les doublons rapidement??

merci d'avance
 

Discussions similaires

Statistiques des forums

Discussions
312 299
Messages
2 086 990
Membres
103 420
dernier inscrit
eric.wallet46