Suppression double

devilft7 Messages postés 11 Date d'inscription mardi 2 octobre 2007 Statut Membre Dernière intervention 12 octobre 2007 - 9 oct. 2007 à 14:42
devilft7 Messages postés 11 Date d'inscription mardi 2 octobre 2007 Statut Membre Dernière intervention 12 octobre 2007 - 10 oct. 2007 à 09:39
Bonjour à tous, voici mon probleme:


J'ai ce petit code de trie, qui est censé marché correctement, mais mon probleme est qu'il lui faut un temps e,orme meme pour trier 200lignes, quelqu'un saurrait-il pourkoi?


Sub Main2()


 


  Dim rRange As Range
  Dim rCell As Range
  Set rRange = Range([A1], [A1].End(xlDown))
  For Each rCell In rRange
    Do While rCell = rCell.Offset(1, 0)
      rCell.Offset(1, 0).EntireRow.Delete
    Loop
  Next rCell


   
   
End Sub

Merci d'avance!!

2 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
9 oct. 2007 à 21:19
J'ai testé ça, quasi instantané sur 320 cellules.


Sub DelDoublons()
  Dim c As Range, d As Range, todel As Range
  Set c = Range("a1")
  Application.ScreenUpdating = False
  While Not IsEmpty(c)
    Set d = c.Offset(1, 0)
    While Not IsEmpty(d)
      If c = d Then
        Set todel = d
        Set d = d.Offset(1, 0)
        todel.EntireRow.Delete
       Else
        Set d = d.Offset(1, 0)
      End If
    Wend
    Set c = c.Offset(1, 0)
  Wend
  Application.ScreenUpdating = True
End Sub

ciao...
BruNews, MVP VC++
0
devilft7 Messages postés 11 Date d'inscription mardi 2 octobre 2007 Statut Membre Dernière intervention 12 octobre 2007
10 oct. 2007 à 09:39
Slt BruNews, merci bien pour les doublons c top, mainitenan j'ai une deuxième question c'est sur un prog de tri, voila ce que j'ai fai, et mon probleme est que lors de l'execution, j'ai un beug sur la première ligne, mais impossible de savoir pkoi, le noms de ma feuille qui se trouve dans la feuille 2 d'un classeur est correct, la plage de cellule selectionné aussi, dc je vois pas trop, si ta une idéé voici le code:

Range("A2:E600").Select


ActiveWorkbook.Worksheets("Suivi Fab S3507").Sort.SortFields.Clear


ActiveWorkbook.Worksheets("Suivi Fab S3507").Sort.SortFields.Add
Key = Range("A2:E600")
SortOn = xlSortOnValues
Order = xlAscending
DataOption = xlSortNormal


    With ActiveWorkbook.Worksheets("Suivi Fab S3507").Sort


        .SetRange Range("A2:E600")


        .Header = xlGuess


        .MatchCase = False


        .Orientation = xlTopToBottom


        .SortMethod = xlPinYin


        .Apply


    End With

Merci
0
Rejoignez-nous