Bonjour,
Je rencontre quelques difficultés à faire fonctionner ma BP.
Le code fonctionne parfaitement si les contrôles sont dans le même formulaire que le code des autres procédures exécutées. (en supprimant with usfBarreProgression et end with)
Seulement j'aimerai placer les contrôles de ma BP dans un formulaire dédié, et là rien ne se passe
J'ai parcouru le forum, et google, j'ai lu qu'il faut utiliser DoEvents mais je ne sais pas ou le placer. A chaque fois, mon formulaire s'ouvre mais vierge, et les points d'arrêt ne fonctionnent plus avec DoEvents...
Y a-t-il une autre méthode que DoEvents? Ou dois-je le placer?
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
44
45
46
47
48 Public Sub BarreProgression2(Optional intNbreEtape As Integer = -1, Optional strTexte As String = "") On Error GoTo BarreProgression_Error Dim intBPEtape As Integer Dim intBPNbreEtape As Integer With usfBarreProgression ' 1er passage = Initialisation If intNbreEtape <> -1 Then ' Barre de progression à 0, Afficher le pop-up barre de progression, initialisation des variables .imgBPProgression.Width = 0 intBPEtape = 0 intBPNbreEtape = intNbreEtape Else ' Récupérer les valeurs dans le texte intBPEtape = VBA.Split(.lblBPTexte.Caption, "/", , vbTextCompare)(0) + 1 intBPNbreEtape = VBA.Split(.lblBPTexte.Caption, "/", , vbTextCompare)(1) End If ' Barre de progression .lblBPMessage.Caption = strTexte .lblBPTexte.Caption = intBPEtape & " / " & intBPNbreEtape .imgBPProgression.Width = ((.lblBPFond.Width - .lblBPFond.Left) / intBPNbreEtape) * intBPEtape + 1 End With ' --- Zone DEBUG --- 'Debug.Print "strTexte: "; strTexte & vbCrLf & _ "intBPEtape: " & intBPEtape & vbCrLf & _ "intBPNbreEtape: " & intBPNbreEtape & vbCrLf & _ "-*-*-*-*-*-*" ' --- /Zone DEBUG --- On Error GoTo 0 Exit Sub BarreProgression_Error: End Sub
Merci,
Gdal
Partager