Bonjour,
J'ai deux macros que j'aimerai optimiser dans une feuille excel.
J'ai pres de 77000 lignes
J'aimerai faire l'execution de la macro que si la premiere colonne (A) est non vide et que et qu'une autre colonne est vide ceci pour réduire le temps de traitement.
j'ai deux boucles suivante :
Premiere boucle
j'aimerai faire la boucle sur 2 critères si la Colonne A est non vide et si la colonne L est vide
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38 Sub Formule_Category() Dim tableau(96, 1) As String 'Le nombre de lignes de la page Erreurs doit aller jusqu'à la ligne 96, sinon, adapter la valeur ci-dessus Dim dated dated = Time 'Alimentation tableau j = 0 While Not IsEmpty(Worksheets("Erreurs").Range("A" & j + 1)) tableau(j, 0) = Worksheets("Erreurs").Range("A" & j + 1).Text tableau(j, 1) = Worksheets("Erreurs").Range("B" & j + 1).Text j = j + 1 Wend MsgBox "Tableau de correspondances rempli... OK pour continuer" Sheets("INCIDENTS").Select i = 2 While Not IsEmpty(Range("A" & i)) j = 0 corresp = 0 While corresp = 0 If Range("J" & i) = "XXXXX" Or Range("J" & i) = "YYYYYY" Then Range("L" & i) = "ASSISTANCE MATERIELLE" corresp = 1 Else If InStr((LCase(Range("D" & i).Text)), LCase(tableau(j, 0))) Then Range("L" & i) = tableau(j, 1) corresp = 1 End If End If j = j + 1 Wend i = i + 1 Wend MsgBox "Fin: " & Time End Sub
Deuxieme boucle
j'aimerai faire la boucle sur 2 critères si la Colonne A est non vide et si la colonne M est vide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Sub Formule_wsi() Worksheets("INCIDENTS").Select For Each C In Range([B2], Cells(Rows.Count, 2).End(xlUp)) If C <> "" And Cells(C.Row, 1) <> "" Then Cells(C.Row, 13).FormulaLocal = "=(Texte(B" & C.Row & "; ""aaaa-mm""))" Cells(C.Row, 13).Value = Cells(C.Row, 13).Value End If Next C
Partager