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 :
Vous auriez une idée sur la marche à suivre ?
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
je vous remercie par avance !
Cordialement,
Anto
Partager