Suppression de lignes

Fermé
aaabbb Messages postés 6 Date d'inscription lundi 27 août 2012 Statut Membre Dernière intervention 18 octobre 2012 - 27 août 2012 à 11:32
Submin Messages postés 382 Date d'inscription vendredi 2 mars 2012 Statut Membre Dernière intervention 1 avril 2016 - 27 août 2012 à 16:18
Bonjour,
je souhaite créer une macro pour supprimer les lignes si un nom dans la colonne B, Cellule 2 à 38000, est différent d'un nom spécifique.

Merci d'avance


2 réponses

Submin Messages postés 382 Date d'inscription vendredi 2 mars 2012 Statut Membre Dernière intervention 1 avril 2016 226
27 août 2012 à 11:57
Bonjour

Pourquoi tu n'utilise pas une boucle for normal? (Mais en décrémentant sinon tu va avoir des pertes)

    Dim i As Double
    For i = 38000 To 1 Step -1
        If Cells(i, 3) = "lol" Then
            Rows(i).Delete
        End If
    Next i


Le temps de traitement est invisible!
0
aaabbb Messages postés 6 Date d'inscription lundi 27 août 2012 Statut Membre Dernière intervention 18 octobre 2012
27 août 2012 à 15:26
Merci!

Par contre cela prends beaucoup de temps( minimum 3 min).

Serait-il donc possible d'avoir un code vba afin d'extraire les
lignes contenant "lol" (par exemple) sur un autre classeur et dans une feuille différente à chaque fois?

Merci d'avance
0
Submin Messages postés 382 Date d'inscription vendredi 2 mars 2012 Statut Membre Dernière intervention 1 avril 2016 226
27 août 2012 à 16:18
Oui c'est possible mais tu veux les mettre dans un autre document Excel ou juste dans une autre feuille de ton Excel?

Pour optimiser ton code tu peux supprimer le raffraissement d'écran et le remettre à la fin
Application.ScreenUpdating = False
...
...
...
Application.ScreenUpdating = True
0