Bonjour,
Je viens vers vous pour m'apprendre à optimiser mon code VBA, voici ci-dessous le code:
Lorsque j'exécute la macro, elle prend un temps considérable à s'exécuter alors que mon document devrait contenir (chaque jour) environ 1000 lignes à la fin des suppressions...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 Sub Extraction() Range("B:B").Select 'Sélection de la colonne B Selection.Insert Shift:=xlToRight 'Créer la colonne envoie tout ce qu'il contient vers la droite ActiveCell.FormulaR1C1 = "Désignation" 'Nomme la colonne "Désignation" Dim compt As Integer For compt = 2 To 10000 Range("J" & compt).Select If Range("J" & compt) = "***" Or Range("J" & compt) = "3000" Or Range("J" & compt) = "3001" Or Range("J" & compt) = "3005" Or Range("J" & compt) = "3006" Or Range("J" & compt) = "3050" Or Range("J" & compt) = "7900" Or Range("J" & compt) = "7910" Or Range("J" & compt) = "7920" Then 'MsgBox ("Ok") Else Selection.EntireRow.Delete compt = compt - 1 If Range("A" & compt) = "" Then Exit For End If End If Next compt End Sub
Cependant, il mouline et mouline et encore et toujours .. Alors qu'a partir du moment ou la colonne A et la ligne soit vide, nous sortons de la boucle FOR. Or ici, c'est bien plus long.
Avez vous une solution pour optimiser mon code (et ainsi pour qu'il soit traiter plus rapidement) et aussi une solution pour ma boucle défectueuse.
Merci, Bonne journée
Aurélien
Partager