bonsoir

Après divers tests d'application d'exemples pris sur le forum je me tourne vers vous pour vous exposer le problème suivant.

au sein d'un useform , j'ai un label que je voudrai faire clignoter le temps de l'exécution d'un processus :

J'ai procéder comme suit :


au sein de mon userform :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
    Label1.Caption = "TRAITEMENT EN COURS"
 
 
    Label1.Visible = True    
    Dep_TimerLab = True   ' démarrage de timer
    Call Timer_Label         ' appel procédure 
 
 --- suite du code
Dep_TimerLab = false    ' arrêt du timer
le label1 est celui que je souhaite voir clignoter



au sein du module1 :
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
Option Explicit
Public Dep_TimerLab As Boolean
 
Sub Timer_Label()
    Dim Prochain_Tour
    Prochain_Tour = Now + TimeValue("00:00:01")  ' ne peut pas être inférieur à 1 seconde
    If Dep_TimerLab Then
        Application.OnTime Prochain_Tour, "Blink_Label"
    Else
        Exit Sub
    End If
 
End Sub
 
'Clignotant CheckLabel
Sub Blink_Label()
    Timer_Label
    If UserForm1.Label1.Visible = False Then
        UserForm1.Label1.Visible = True
    Else
        UserForm1.Label1.Visible = False
    End If
 
End Sub

le clignotement du label ne se réalise pas. seule la première réalisation du passage à non visible du label est réalisée.

C'est inexplicable dans ce que j'ai compris du processus mais peut être l'ai je mal interprété.

Bonne soirée et merci d'avance