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..
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...