Hello tout le monde,
Je cherche à afficher une progressbar dans une boucle, en fait c'est une copie de données d'un fichier vers un autre, lors de la sauvegarde, rien de très compliqué.
J'ai donc mis ceci :
Et le code sleepVBA dans un module :
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 Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) ... Application.ScreenUpdating = False Application.Visible = False For i = 5 To NbLignesDashbd ' Load UserForm2 ' UserForm2.Repaint UserForm2.ProgressBar1.Max = NbLignesDashbd UserForm2.ProgressBar1.Value = i UserForm2.Show ... End Sub Private Sub UserForm_Activate() SleepVBA Unload Me End Sub Private Sub UserForm_Initialize() Me.ProgressBar1.Value = 0 End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Option Explicit Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Sub SleepVBA() 'tempo 100 ms Sleep 100 'pause en millisecondes End Sub
Et j'obtiens ca:
J'ai essayé de changer la tempo jusqu'à 1 seconde en pensant qu'elle n'avait pas le temps de s'afficher mais ca ne vient pas de là non plus ....
Je pense qu'il ne me manque pas grand chose, mais je ne le trouve pas ce grand chose .... merci d'avance !!
Partager