Bonjour
Avant tout merci a ce forum et à tous les autres qui régulièrement m'aide à trouver mon bonheur à mes malheurs. C'est la première fois que je publie sur un forum généralement en compilant je trouve... mais là je sèche.
Voila j'ai ce petit code assé simple qui scrute donc chaque cellule de la plage nommé Z_Cpt_rendu à recherche d'une portion de chaine de caractère. Ensuite je récupere certain éléments voisin si la condition est rempli.
Ma boucle se fait sur plus de 5500 lignes et peut etre plus en fonction des fichiers. A mon dernier chrono, j'avais 30mn d'éxé ce qui est énorme, mais je ne comprend pas pourquoi autant.
Pourriez vous jeter un oeil sur mon code et m'éclairer?
Merci d'avance
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 Sub Cpt_ope_PDA() Dim cell As Range Worksheets("Analyse PDA").Activate Line = 25 For Each cell In Range("Z_Cpt_rendu") If cell Like "*2*_*" Then Etat = cell.Offset(0, -57) If Etat = "TE" Or Etat = "AR" Then V_Typ_ope = cell.Offset(0, -59).Value 'cell.Offset(0, 57).Activate 'If ActiveCell Like "*2*_*" Then Pos = InStr(cell, "_") Pos = Pos - 3 If cell <> "" And Pos >= 0 Then Result = Mid(cell, Pos, 8) T_Result = Val(Result) If T_Result <> 0 Then Worksheets("Analyse PDA").Range("B" & Line) = V_Typ_ope Worksheets("Analyse PDA").Range("C" & Line) = Etat Worksheets("Analyse PDA").Range("D" & Line) = Result Line = Line + 1 End If End If End If End If Next cell End Sub
Partager