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...

Nom : 0.jpg
Affichages : 641
Taille : 39,6 Ko

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
Y a-t-il une autre méthode que DoEvents? Ou dois-je le placer?

Merci,

Gdal