OVH Cloud OVH Cloud

affichage temporisé

2 réponses
Avatar
EliotNaiss
bonjour à tous
dans un userform, je fais apparaitre un gif (feu rouge) en cas de
mauvaise saisie, mais je desire qu'il ne soit visible que 2 ou 3
secondes.
J'ai codé (selon conseils)
> gif.visible = true
> Application.Wait Now + TimeValue("00:00:10")
> gif.visible = false

bonne réponse, la pause se fait bien 10sec, c'est sur !
mais lors de l'execution du code, le gif n'a pas le temps de s'afficher !?
quizz ?
cordialement
Eliot

2 réponses

Avatar
Yvan
Salut EliotNaiss

Tss Tss. Essaie plutot ceci:

Dim start
start = Timer
gif.Visible = True
While Timer < start + 10
DoEvents
Wend
gif.Visible = False

Normalement, çà va mieux.

Explication:
Application.Wait "fige" l'execution du programme, donc n'execute rien.
Avec Timer + DoEvents, tu laisses le programme s'executer, normalement. Tu
attends simplement 10 secondes pour poursuivre l'execution.

OK?

@+

Yvan


"EliotNaiss" a écrit dans le message de news:

bonjour à tous
dans un userform, je fais apparaitre un gif (feu rouge) en cas de
mauvaise saisie, mais je desire qu'il ne soit visible que 2 ou 3
secondes.
J'ai codé (selon conseils)
gif.visible = true
Application.Wait Now + TimeValue("00:00:10")
gif.visible = false


bonne réponse, la pause se fait bien 10sec, c'est sur !
mais lors de l'execution du code, le gif n'a pas le temps de s'afficher !?
quizz ?
cordialement
Eliot







Avatar
EliotNaiss
salut Yvan
ca c'est cool !
ca me convient bien !
Merci
Cordialement
Eliot
"Yvan" <yvan.echanges(enlever ceci)@free.fr> a écrit dans le message de
news: uj$
Salut EliotNaiss

Tss Tss. Essaie plutot ceci:

Dim start
start = Timer
gif.Visible = True
While Timer < start + 10
DoEvents
Wend
gif.Visible = False

Normalement, çà va mieux.

Explication:
Application.Wait "fige" l'execution du programme, donc n'execute rien.
Avec Timer + DoEvents, tu laisses le programme s'executer, normalement. Tu
attends simplement 10 secondes pour poursuivre l'execution.

OK?

@+

Yvan


"EliotNaiss" a écrit dans le message de news:

bonjour à tous
dans un userform, je fais apparaitre un gif (feu rouge) en cas de
mauvaise saisie, mais je desire qu'il ne soit visible que 2 ou 3
secondes.
J'ai codé (selon conseils)
gif.visible = true
Application.Wait Now + TimeValue("00:00:10")
gif.visible = false


bonne réponse, la pause se fait bien 10sec, c'est sur !
mais lors de l'execution du code, le gif n'a pas le temps de s'afficher
!?
quizz ?
cordialement
Eliot