doublons

A

anne

Guest
salut,

ja'i un soucis sous excel,
je mets sous un meme fichier trois sous fichier et par la suite je désire éliminer les doublons pour une certaine colonne.

j'ai trouvé ce code mais pour un fichier de 10 lignes sa marche mais pas pour 23000 lignes, si vous avez une idée????

Sub Macromagnon()
ActiveSheet.UsedRange.EntireRow.Sort Key1:=ActiveSheet.UsedRange.Cells(1)
lin = Columns(1).Find('*', , , , , xlPrevious).Row
encore:
keep = False
'For Col = 1 To Rows(lin).Find('*', , , , , xlPrevious).Column
If Cells(lin, 8) <> Cells(lin - 1, 8) Then keep = True
'Next Col
If keep = False Then Rows(lin).Delete
lin = lin - 1
If lin > 1 Then GoTo encore
End Sub
 

ljoue

XLDnaute Junior
Salut,

Pour supprimer les doublons j'utilise ce code :

Dim i As Integer
For i = 1 To 25000
While Cells(i, 1).Value = Cells(i + 1, 1).Value And Cells(i, 1) <> ''
Range(Cells(i, 1), Cells(i, 8)).Select
Selection.Delete Shift:=xlUp
Wend
Next i


il faut cependant faire un trie avant de lancer la Macro...ou de rajouter le trie en code !

@+
 

Charly2

Nous a quittés en 2006
Repose en paix
re-bonjour anne, bonjour ljoue, le forum,

Anne, je t'ai déjà fait une proposition de code sur ton 1er fil.

Ljoue, le tri est déjà dans le code d'Anne et il vaut mieux supprimer la ligne entière car son tableau peut contenir d'autres données dans les colonnes suivantes ;)

Amicalement
Charly
 

ljoue

XLDnaute Junior
Salut Charly,

Je suis tout a fait d'accord avec toi !

Pour le code que j'ai donné, il faut bien entendu le modifier en fonction de tes besoins (Anne)....
Que ce soit pour :
- le For i = 1 to 25000 change le 1 par le numéro de ligne où commence tes données
- Cells(i,8) : correspond au numéro de colonne, en autre ici la colonne 'H' ---> Donc ici la macro supprime les cellules de A à H

...A adapter ou suivre les instruction de Charly.... :)


@+
Laurent
 

Discussions similaires

Statistiques des forums

Discussions
312 464
Messages
2 088 628
Membres
103 894
dernier inscrit
tanyroc