Bonjour,
J'ai un module qui appelle consécutivement 5 modules qui se présentent ainsi (avec des instructions un peu différentes mais la structure est la même):
Cela fonctionne très bien, le problème étant que ma macro tourne pendant 2 heures (et une journée sur les PC de mes collègues sans SSD....).
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
39
40
41
42
43 Sub Bascule() Dim b As Long Dim c As Long Dim e As Long Dim f As Long Dim q As Long Dim v As Long Dim I As Long Worksheets("Suivi").Select v = Application.WorksheetFunction.CountA(Columns(5)) + 1 Worksheets("Liste des besoins").Select With Worksheets("Liste des besoins") q = Application.WorksheetFunction.CountA(Columns(1)) + 1 For b = 3 To q If Worksheets("Liste des besoins").Cells(b, 26).Value = "Basculé en att. inscription" Then With Worksheets("Suivi") For e = 2 To v For I = 2 To q If Worksheets("Suivi").Cells(e, 17).Value = Worksheets("Liste des besoins").Cells(b, 17).Value Then Worksheets("Suivi").Rows(e).Interior.Color = RGB(255, 255, 255) Worksheets("Suivi").Cells(e, 24) = "Basculé en att. Inscription" End If Next Next End With End If Next End With b = 0 c = 0 e = 0 f = 0 q = 0 v = 0 I = 0 End Sub
Je pense que c'est le fait d'avoir un bouclage sur chaque cellule qui est long et qu'il faudrait faire plutôt une fonction Set. Qu'en pensez-vous svp?
A noter que j'ai les instructions suivantes dans mon module "mère":
merci de votre aide,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Application.DisplayAlerts = False 'messages excel Application.DisplayStatusBar = True ' info avancement macro dans barre d'infos en bas écran Application.StatusBar = "Synthèse PEPS en cours" Application.ScreenUpdating = False 'rafraichissement ecran (pour ne pas voir défiler les macros) Application.Cursor = xlWait 'sablier Application.Calculation = xlCalculationManual ' supprime calcul auto EXCEL pour gagner du temps. A remettre dans fin_sub
Alain
Partager