Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
190
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…