Clignotage usf (ou bien label)

Tungstene

XLDnaute Occasionnel
Bonjour,

Est-il possible de faire clignoter une usf ou bien un label de usf?
Je n'ai rien trouver dans les archives.
 

Tungstene

XLDnaute Occasionnel
Je te remercie le code fonctionne mais le problème c'est qu'il ne foncitonne pas exactement quand je veux.

Dans un module j'ai le code suivant me permettant donc de faire clignoter en changeant de couleurs :

Option Explicit
Public Cible As Boolean

Sub Demarrer()
Application.OnTime Now + TimeValue('0:0:01'), 'MiseAJour'
End Sub

Sub MiseAJour()

If Enregistrement_en_cours_fichier.Label1.ForeColor = &H80000012 Then
Enregistrement_en_cours_fichier.Label1.ForeColor = &HFF&
Else
Enregistrement_en_cours_fichier.Label1.ForeColor = &H80000012
End If

If Cible = True Then
Enregistrement_en_cours_fichier.Label1.ForeColor = &H80000012
Exit Sub
End If

Call Demarrer

End Sub


Ensuite j'ai le code suivant sur de mes usf. Cette usf s'affiche après que j'ai décidé de sauvegarder mon fichier puis le quitter.
Donc le code suivant affiche 'Veuillez patienter…' jusqu'à la fin de l'enregistrement, puis une fois celui-ci terminé indique 'Enregistrement terminé!'

Ce que je veux c'est que ces 2 label1 ('veuillez patienter…' et 'Enregistrement terminé!') clignotent durant le temps de l'enregistrement et le temps d'affichage de 'Enregistrement terminé!'.

Le but étant de montrer à l'utilisateur que l'enregistrement est tj en cours et que ça n'a pas planté. J'ai vu d'autres sol que je trouvait bien trop compliquées.

Alors pour ça, il faut appeler le module demarrer. Pour cela je place Call Demarrer dans le code suivant.
Or que je le place à n'importe quel endroit le résultat est le même, le clignotement ne marche que lors de l'affichage de 'Enregistrement terminé!', càd après l'enregistrement.

J'ai bien essayé plein de chose mais là je ne vois pas. Donc si quelqu'un ne voit pas je vais finalement laissé tomber le clignotement.


Option Explicit
Dim pausetime, start

Private Sub UserForm_Activate()

Label1.Caption = 'Veuillez patienter...'
pausetime = 0.1
start = Timer
Do While Timer < start + pausetime
DoEvents
Loop

ActiveWorkbook.Save

Label1.Caption = 'Enregistrement terminé!'

pausetime = 2.5
start = Timer
Do While Timer < start + pausetime
DoEvents
Loop

Unload Enregistrement_en_cours_fichier
ActiveWorkbook.Close

End Sub

Voix tu une solution possible stp?
 

Discussions similaires