Optimisation d'un code

dealise

XLDnaute Junior
Bonjour,

je suis débutante en VBA et j'ai écrit un code qui fonctionne, le problème c'est que j'ai plusieur code comme celui-ci et qu'il prenne pas mal de temps à l'exécution, c'est pourquoi je me demande si on ne pourrais pas l'optimiser, personnellement je ne vois pas d'autre facon de l'executer...

Voici mon code :

Code:
j = Range("B" & Rows.Count).End(xlUp).Row


    For i = Range("A65536").End(xlUp).Row To 2 Step -1
        If Range("N" & i) = "test" Then
            Range("A" & i).EntireRow.Delete
        End If
    Next i

Sachant que j'ai aussi déjà mis : ScreenUpdating = False..

Merci d'avance pour vos réponses !!!!
 

sousou

XLDnaute Barbatruc
Re : Optimisation d'un code

Bonjour dealise

Le entirerow.delete est une fonction qui prend du temps, car excel décale toutes les lignes à chaque delete.
Une solution qui devrait être plus rapide consiste à :
Au lieur de 'deleter' la ligne effacer avec (.clearcontents).
et une fois la boucle terminer faire un tri quelconque qui fera disparaître les ligne vide (.sort)
A essayer...
 

Discussions similaires

Réponses
6
Affichages
173

Statistiques des forums

Discussions
312 555
Messages
2 089 555
Membres
104 210
dernier inscrit
mjub