OVH Cloud OVH Cloud

Affichage d'un message temporaire

7 réponses
Avatar
Alain
Bonjour à tous.

J'ai une macro Excel qui charge des données durant environ 10 secondes.
J'aimerai faire patienter l'utilisateur durant ces 10 secondes avec un petit
message d'attente.
Un MsgBox ne peut convenir puisqu'il bloque l'exécution.
Actuellement, j'ai la solution de la StatusBar, mais c'est trop peu visible.
Il faudrait quelques chose au milieu de l'écran qui apparaîtrait au début du
chargement et qui disparaîtrait à la fin.
Avez-vous une idée ?

Merci d'avance, Alain.

7 réponses

Avatar
JLuc
Bonjour à tous.

J'ai une macro Excel qui charge des données durant environ 10 secondes.
J'aimerai faire patienter l'utilisateur durant ces 10 secondes avec un petit
message d'attente.
Un MsgBox ne peut convenir puisqu'il bloque l'exécution.
Actuellement, j'ai la solution de la StatusBar, mais c'est trop peu visible.
Il faudrait quelques chose au milieu de l'écran qui apparaîtrait au début du
chargement et qui disparaîtrait à la fin.
Avez-vous une idée ?

Merci d'avance, Alain.


Fais un userform d'attente. Au debut de la macro tu l'affiche et a la
fin, tu l'enleve

--
JLuc

Avatar
JB
Bonjour,

http://cjoint.com/?hepytSSwVh

Public prochain
Sub auto_open()
UserForm1.Show
End Sub

Sub CloseForm()
On Error Resume Next
Application.OnTime prochain, "CloseForm", schedule:úlse
Unload UserForm1
End Sub

Private Sub UserForm_Initialize()
prochain = Now + TimeValue("00:00:5")
Application.OnTime prochain, "CloseForm"
End Sub

Cordialement JB



Bonjour à tous.

J'ai une macro Excel qui charge des données durant environ 10 secondes.
J'aimerai faire patienter l'utilisateur durant ces 10 secondes avec un pe tit
message d'attente.
Un MsgBox ne peut convenir puisqu'il bloque l'exécution.
Actuellement, j'ai la solution de la StatusBar, mais c'est trop peu visib le.
Il faudrait quelques chose au milieu de l'écran qui apparaîtrait au d ébut du
chargement et qui disparaîtrait à la fin.
Avez-vous une idée ?

Merci d'avance, Alain.


Avatar
AV
On peut faire simple :
Sur ta feuille active tu dessines une zone de texte (barre d'outil Dessin)
avec le message que tu veux, tu la barbouilles, agrémentes, positionnes.comme tu
le sens et tu la nommes (sélection du cadre >> saisir dans la barre des noms)
par ex. "maZone"

Sub taMacro()
ActiveSheet.Shapes("maZone").Visible = True
' tout le blablabla de ta macro
ActiveSheet.Shapes("maZone").Visible = False
End Sub

AV
Avatar
ABED HADDOU
Bonjour,
quand j'exécute une deuxieme fois la macro ,la zone de texte ("maZone")
n'apparait pas pourqoui ?

Merci AV

Abed_H




On peut faire simple :
Sur ta feuille active tu dessines une zone de texte (barre d'outil Dessin)
avec le message que tu veux, tu la barbouilles, agrémentes, positionnes.comme tu
le sens et tu la nommes (sélection du cadre >> saisir dans la barre des noms)
par ex. "maZone"

Sub taMacro()
ActiveSheet.Shapes("maZone").Visible = True
' tout le blablabla de ta macro
ActiveSheet.Shapes("maZone").Visible = False
End Sub

AV





Avatar
ABED HADDOU
voici le fichier exemple http://cjoint.com/?heuyWmJbcz

Abed_H



Bonjour,
quand j'exécute une deuxieme fois la macro ,la zone de texte ("maZone")
n'apparait pas pourqoui ?

Merci AV

Abed_H




On peut faire simple :
Sur ta feuille active tu dessines une zone de texte (barre d'outil Dessin)
avec le message que tu veux, tu la barbouilles, agrémentes, positionnes.comme tu
le sens et tu la nommes (sélection du cadre >> saisir dans la barre des noms)
par ex. "maZone"

Sub taMacro()
ActiveSheet.Shapes("maZone").Visible = True
' tout le blablabla de ta macro
ActiveSheet.Shapes("maZone").Visible = False
End Sub

AV







Avatar
docm
Ajoute une instruction DoEvents pour forcer le raffraichissement de la
fenêtre après
ActiveSheet.Shapes("maZone").Visible = True
DoEvents

docm

"ABED HADDOU" wrote in message
news:
voici le fichier exemple http://cjoint.com/?heuyWmJbcz

Abed_H



Bonjour,
quand j'exécute une deuxieme fois la macro ,la zone de texte ("maZone")
n'apparait pas pourqoui ?

Merci AV

Abed_H




On peut faire simple :
Sur ta feuille active tu dessines une zone de texte (barre
d'outil Dessin)



avec le message que tu veux, tu la barbouilles, agrémentes,
positionnes.comme tu



le sens et tu la nommes (sélection du cadre >> saisir dans la barre
des noms)



par ex. "maZone"

Sub taMacro()
ActiveSheet.Shapes("maZone").Visible = True
' tout le blablabla de ta macro
ActiveSheet.Shapes("maZone").Visible = False
End Sub

AV









Avatar
ABED HADDOU
avec DoEvents ça fonctionne
merci docm à bientôt

Abed_H



Ajoute une instruction DoEvents pour forcer le raffraichissement de la
fenêtre après
ActiveSheet.Shapes("maZone").Visible = True
DoEvents

docm

"ABED HADDOU" wrote in message
news:
voici le fichier exemple http://cjoint.com/?heuyWmJbcz

Abed_H



Bonjour,
quand j'exécute une deuxieme fois la macro ,la zone de texte ("maZone")
n'apparait pas pourqoui ?

Merci AV

Abed_H




On peut faire simple :
Sur ta feuille active tu dessines une zone de texte (barre
d'outil Dessin)



avec le message que tu veux, tu la barbouilles, agrémentes,
positionnes.comme tu



le sens et tu la nommes (sélection du cadre >> saisir dans la barre
des noms)



par ex. "maZone"

Sub taMacro()
ActiveSheet.Shapes("maZone").Visible = True
' tout le blablabla de ta macro
ActiveSheet.Shapes("maZone").Visible = False
End Sub

AV