Fenêtre d'avertissement quand un calcul manuel prend du temps!

Le
Gregory Hilaire
Bien le bonjour à tous le groupe.

Je sollicite votre aide sur la question suivante. J'ai un fichier de calcul
qui pour faire ses mises à jour prend un temps
certain. Pour limiter les dégâts je l'ai mis en calcul manuel. Quand on doit
faire la mise à jour cela prend tellement de
ressources que l'on pourrait penser que l'ordinateur gèle. J'aimerais ( si
possible ) que lorsque l'on presse [F9] un
message genre ( splash screen ) apparaisse pour demander gentiment de
patienter et que cette fenêtre disparaisse
une fois le traitement achevé.

Merci pour tout aide.
Une bonne journée à tous.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichDenis
Le #5168391
Dans ton ThisWorkbook de ton classeur, tu copies ces procédures:
'-----------------------------
Private Sub Workbook_Activate()
Application.OnKey "{F9}", "toto"
End Sub
'-----------------------------
Private Sub Workbook_Deactivate()
Application.OnKey "{F9}"
End Sub
'-----------------------------

Dans un module standard, ceci :
'--------------------------------
Sub toto()
MsgBox "Attention, je calcule, le temps c'est de l'argent."
ActiveSheet.Calculate
End Sub
'--------------------------------

Et dans ton ThisWorkbook, tu peux ajouter ceci si tu veux
que le raccourci clavier F9 s'applique seulement au classeur désigné:

Ferme ton classeur et ré-ouvre-le !




"Gregory Hilaire"
Bien le bonjour à tous le groupe.

Je sollicite votre aide sur la question suivante. J'ai un fichier de calcul
qui pour faire ses mises à jour prend un temps
certain. Pour limiter les dégâts je l'ai mis en calcul manuel. Quand on doit
faire la mise à jour cela prend tellement de
ressources que l'on pourrait penser que l'ordinateur gèle. J'aimerais ( si
possible ) que lorsque l'on presse [F9] un
message genre ( splash screen ) apparaisse pour demander gentiment de
patienter et que cette fenêtre disparaisse
une fois le traitement achevé.

Merci pour tout aide.
Une bonne journée à tous.
Philippe.R
Le #5168361
Bonjour,
Tu peux créer une zone de texte avec les indications qui te conviennent et
l'appeler par l'évènement calculate de la feuille à l'aide de la ligne de
commande :
ActiveSheet.Shapes("Text Box 1").Visible = True
et mettre cette ligne à False à la fin de ta procédure
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"Gregory Hilaire" news:
Bien le bonjour à tous le groupe.

Je sollicite votre aide sur la question suivante. J'ai un fichier de
calcul qui pour faire ses mises à jour prend un temps
certain. Pour limiter les dégâts je l'ai mis en calcul manuel. Quand on
doit faire la mise à jour cela prend tellement de
ressources que l'on pourrait penser que l'ordinateur gèle. J'aimerais ( si
possible ) que lorsque l'on presse [F9] un
message genre ( splash screen ) apparaisse pour demander gentiment de
patienter et que cette fenêtre disparaisse
une fois le traitement achevé.

Merci pour tout aide.
Une bonne journée à tous.







Gregory Hilaire
Le #5168291
Merci MichDenis, Merci Philippe.R
C'est tellement élégant et simple vos solutions
que j'en ai la mâchoire sur les genoux!

Passez une excellente Semaine!

Greg!

"Philippe.R" %
Bonjour,
Tu peux créer une zone de texte avec les indications qui te conviennent et
l'appeler par l'évènement calculate de la feuille à l'aide de la ligne de
commande :
ActiveSheet.Shapes("Text Box 1").Visible = True
et mettre cette ligne à False à la fin de ta procédure
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"Gregory Hilaire" news:
Bien le bonjour à tous le groupe.

Je sollicite votre aide sur la question suivante. J'ai un fichier de
calcul qui pour faire ses mises à jour prend un temps
certain. Pour limiter les dégâts je l'ai mis en calcul manuel. Quand on
doit faire la mise à jour cela prend tellement de
ressources que l'on pourrait penser que l'ordinateur gèle. J'aimerais (
si possible ) que lorsque l'on presse [F9] un
message genre ( splash screen ) apparaisse pour demander gentiment de
patienter et que cette fenêtre disparaisse
une fois le traitement achevé.

Merci pour tout aide.
Une bonne journée à tous.










Gregory Hilaire
Le #5239061
Re bonjour

Une question jusque là sans réponse de mon côté me turlupine l'esprit
Associé à Thisworkbook J'ai ceci

' Dans This workbook =============================== Private Sub Workbook_Activate()
Application.OnKey "{F9}", "Information"
End Sub

Private Sub Workbook_Deactivate()
Application.OnKey "{F9}"
End Sub


Dans mon module J'ai ceci ==============================
Function Calcul(Nombre) As Variant
For X = 1 To Nombre * 10
For y = 1 To 100000
Next y
Next X
Calcul = 2 * Nombre
End Function

Sub Information()
UserForm1.Show 0
ActiveSheet.Calculate
Unload UserForm1
End Sub
=================================================
Et J'ai un formulaire UserForm1 Qui devrait afficher le message mais à
l'execution
l'intérieur du formulaire reste vide. Si je mets un msgBox tout juste à près
l'affichage
là il paraît ou en modal il parait mais dans les deux cas cela ne convient
pas car le
but de l'exercice c'est justement que l'on aie rien à cliquer ...

Toute idée du pourquoi de ce comment sera la bienvenue ... :)

Juste pour illustration
http://cjoint.com/?cBbcWUVPnP

Greg

"Gregory Hilaire" %
Merci MichDenis, Merci Philippe.R
C'est tellement élégant et simple vos solutions
que j'en ai la mâchoire sur les genoux!

Passez une excellente Semaine!

Greg!

"Philippe.R" %
Bonjour,
Tu peux créer une zone de texte avec les indications qui te conviennent
et l'appeler par l'évènement calculate de la feuille à l'aide de la ligne
de commande :
ActiveSheet.Shapes("Text Box 1").Visible = True
et mettre cette ligne à False à la fin de ta procédure
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"Gregory Hilaire" news:
Bien le bonjour à tous le groupe.

Je sollicite votre aide sur la question suivante. J'ai un fichier de
calcul qui pour faire ses mises à jour prend un temps
certain. Pour limiter les dégâts je l'ai mis en calcul manuel. Quand on
doit faire la mise à jour cela prend tellement de
ressources que l'on pourrait penser que l'ordinateur gèle. J'aimerais
( si possible ) que lorsque l'on presse [F9] un
message genre ( splash screen ) apparaisse pour demander gentiment de
patienter et que cette fenêtre disparaisse
une fois le traitement achevé.

Merci pour tout aide.
Une bonne journée à tous.














MichDenis
Le #5239041
Tu ajoutes :

Sub Information()
UserForm1.Show 0
UserForm1.Repaint 'Ajout
'OU
'DoEvents ' Cette commande te donne le même résultat.
ActiveSheet.Calculate
Unload UserForm1
End Sub



"Gregory Hilaire"
Re bonjour

Une question jusque là sans réponse de mon côté me turlupine l'esprit
Associé à Thisworkbook J'ai ceci

' Dans This workbook =============================== Private Sub Workbook_Activate()
Application.OnKey "{F9}", "Information"
End Sub

Private Sub Workbook_Deactivate()
Application.OnKey "{F9}"
End Sub


Dans mon module J'ai ceci ==============================
Function Calcul(Nombre) As Variant
For X = 1 To Nombre * 10
For y = 1 To 100000
Next y
Next X
Calcul = 2 * Nombre
End Function

Sub Information()
UserForm1.Show 0
ActiveSheet.Calculate
Unload UserForm1
End Sub
=================================================
Et J'ai un formulaire UserForm1 Qui devrait afficher le message mais à
l'execution
l'intérieur du formulaire reste vide. Si je mets un msgBox tout juste à près
l'affichage
là il paraît ou en modal il parait mais dans les deux cas cela ne convient
pas car le
but de l'exercice c'est justement que l'on aie rien à cliquer ...

Toute idée du pourquoi de ce comment sera la bienvenue ... :)

Juste pour illustration
http://cjoint.com/?cBbcWUVPnP

Greg

"Gregory Hilaire" %
Merci MichDenis, Merci Philippe.R
C'est tellement élégant et simple vos solutions
que j'en ai la mâchoire sur les genoux!

Passez une excellente Semaine!

Greg!

"Philippe.R" %
Bonjour,
Tu peux créer une zone de texte avec les indications qui te conviennent
et l'appeler par l'évènement calculate de la feuille à l'aide de la ligne
de commande :
ActiveSheet.Shapes("Text Box 1").Visible = True
et mettre cette ligne à False à la fin de ta procédure
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"Gregory Hilaire" news:
Bien le bonjour à tous le groupe.

Je sollicite votre aide sur la question suivante. J'ai un fichier de
calcul qui pour faire ses mises à jour prend un temps
certain. Pour limiter les dégâts je l'ai mis en calcul manuel. Quand on
doit faire la mise à jour cela prend tellement de
ressources que l'on pourrait penser que l'ordinateur gèle. J'aimerais
( si possible ) que lorsque l'on presse [F9] un
message genre ( splash screen ) apparaisse pour demander gentiment de
patienter et que cette fenêtre disparaisse
une fois le traitement achevé.

Merci pour tout aide.
Une bonne journée à tous.














Gregory Hilaire
Le #5239031
Nikel! Je n'ai rien à ajouter!

Je vais "googler" de mon côté ces deux Instructions La méthode Repaint et le
Doevents
Pour savoir comment et pourquoi ils ont résolu le bobo mais encore une fois
Chapeau mich

Bonne Journée


"MichDenis"
Tu ajoutes :

Sub Information()
UserForm1.Show 0
UserForm1.Repaint 'Ajout
'OU
'DoEvents ' Cette commande te donne le même résultat.
ActiveSheet.Calculate
Unload UserForm1
End Sub



"Gregory Hilaire"
Re bonjour

Une question jusque là sans réponse de mon côté me turlupine l'esprit
Associé à Thisworkbook J'ai ceci

' Dans This workbook =============================== > Private Sub Workbook_Activate()
Application.OnKey "{F9}", "Information"
End Sub

Private Sub Workbook_Deactivate()
Application.OnKey "{F9}"
End Sub


Dans mon module J'ai ceci ============================== >
Function Calcul(Nombre) As Variant
For X = 1 To Nombre * 10
For y = 1 To 100000
Next y
Next X
Calcul = 2 * Nombre
End Function

Sub Information()
UserForm1.Show 0
ActiveSheet.Calculate
Unload UserForm1
End Sub
================================================= >
Et J'ai un formulaire UserForm1 Qui devrait afficher le message mais à
l'execution
l'intérieur du formulaire reste vide. Si je mets un msgBox tout juste à
près
l'affichage
là il paraît ou en modal il parait mais dans les deux cas cela ne convient
pas car le
but de l'exercice c'est justement que l'on aie rien à cliquer ...

Toute idée du pourquoi de ce comment sera la bienvenue ... :)

Juste pour illustration
http://cjoint.com/?cBbcWUVPnP

Greg

"Gregory Hilaire" %
Merci MichDenis, Merci Philippe.R
C'est tellement élégant et simple vos solutions
que j'en ai la mâchoire sur les genoux!

Passez une excellente Semaine!

Greg!

"Philippe.R" news:
%
Bonjour,
Tu peux créer une zone de texte avec les indications qui te conviennent
et l'appeler par l'évènement calculate de la feuille à l'aide de la
ligne
de commande :
ActiveSheet.Shapes("Text Box 1").Visible = True
et mettre cette ligne à False à la fin de ta procédure
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"Gregory Hilaire" news:
Bien le bonjour à tous le groupe.

Je sollicite votre aide sur la question suivante. J'ai un fichier de
calcul qui pour faire ses mises à jour prend un temps
certain. Pour limiter les dégâts je l'ai mis en calcul manuel. Quand on
doit faire la mise à jour cela prend tellement de
ressources que l'on pourrait penser que l'ordinateur gèle. J'aimerais
( si possible ) que lorsque l'on presse [F9] un
message genre ( splash screen ) apparaisse pour demander gentiment de
patienter et que cette fenêtre disparaisse
une fois le traitement achevé.

Merci pour tout aide.
Une bonne journée à tous.



















Publicité
Poster une réponse
Anonyme