Bonjour,
J'ai essayé plusieurs méthode mais aucune ne semble marcher. J'en viens a utiliser " Application.Wait Time + TimeSerial(0, 0, 20) " pour laisser le temps au données de charger mais vous comprendrez le problème de ce bricolage.
=> ActiveSheet.Calculate seul ne marche pas
=> j'ai aussi essayé If Not Application.CalculationState = xlDone Then DoEvents End If mais ca ne change rien
Ma feuille est en calcul manuel et a chaque itération la feuille doit charger une nouvelle plage de données dont la source provient d'un add in. Lorsque que la donnée charge dans la cellule il y a marqué : "process..."
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 Sub ExVL() With Sheets("P_Auto") i = 2 Do While Cells(i, 2) <> "" Cells(i, 2).Copy Cells(3, 5) ActiveSheet.Calculate Application.Wait Time + TimeSerial(0, 0, 20) If Not Application.CalculationState = xlDone Then DoEvents End If Debug.Print "Calculs chargés pour période" & i - 1 Cells(5, 8).Select Range(Selection, Selection.End(xlDown)).Select Range(Selection, Selection.End(xlToRight)).Select If TypeName(Selection) = "Range" Then Selection.Calculate DoEvents If IsEmpty(Sheets("PZ").Range("A1")) Then Selection.Copy Sheets("PZ").Range("A1") Else: Selection.Copy Sheets("PZ").Cells(Rows.Count, 1).End(xlUp)(2) End If i = i + 1 Loop End With End Sub
Des pistes ? Merci.
Partager