Hello world !

J'ai récemment demandé de l'aide sur ce forum, concernant une macro afin d'effacer des lignes en fonction d'un contenu et d'un éventuel autre paramêtre.

Aujourd'hui, je reviens vers vous, non pas parce que j'ai encore un problème avec ça, mais simplement dans un soucis d'optimisation.

La macro fonctionne parfaitement, mais elle est looooooooooongue, ayant un gros fichier à traiter.
Je souhaiterais savoir s'il existe une autre écriture de code / fonction / n'importe qui permettrait d'accélerer la procédure.

Voici le morceau de code de la macro qui est très lent :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
Dim i0 As Long
 
For i0 = Range("V" & Rows.Count).End(xlUp).Row To 1 Step -1
    If InStr(Range("V" & i0).Value, "AAA") > 0 Then Rows(i0).Delete
    If InStr(Range("V" & i0).Value, "BBB") > 0 Then Rows(i0).Delete
    If InStr(Range("V" & i0).Value, "CCC") > 0 Then Rows(i0).Delete
    If InStr(Range("V" & i0).Value, "DDD") > 0 And InStr(Range("T" & i0).Value, "") = 0 Then Rows(i0).Delete
    If InStr(Range("V" & i0).Value, "EEE") > 0 And InStr(Range("T" & i0).Value, "") = 0 Then Rows(i0).Delete
    If InStr(Range("V" & i0).Value, "") = 0 And InStr(Range("T" & i0).Value, "") > 0 Then Rows(i0).Delete
Next i0
Vous auriez une idée sur la marche à suivre ?
je vous remercie par avance !

Cordialement,
Anto