Merci de patienter...

Ours masqué

XLDnaute Junior
Bonjour,

Je gère sur Excel une base de données assez volumineuse qui contient beaucoup de dates. Excel affiche des couleurs en fonction de la date du jour pour visualiser rapidement si des échéances sont bientôt périmées. Bref... A l'ouverture du fichier, je dois recalculer toutes les échéances avant de travailler dessus. Ca prend assez longtemps. Je voudrais afficher une petite fenêtre avec le message "Veuillez patienter..." pendant que les calculs se font. Je mets une userform avec le texte , je mets screenupdating false puis, après la boucle de calculs, je repasse screenupdating true. Ca fonctionne bien sauf que, dans la fenêtre, on ne voit pas le texte... Quelqu'un aurait il une petite idée ? Merci. Je pense que, peut être, l'ordi n'a pas le temps de mettre le texte qu'il a déjà mis screenupdating false, mais je ne suis pas sûr.
Merci beaucoup pour votre aide.

Ours masqué
 

Ours masqué

XLDnaute Junior
Re : Merci de patienter...

Voilà le code qui, sans doute, pose problème : Attente est la userform avec le petit message. La fenêtre s'affiche mais rien de ce qu'il y a dedans.

Call Attente.Show

'Mise à jour systèmatique des couleurs

Static i As Integer
Application.ScreenUpdating = False
For i = 3 To Range("'Pilotes C130'!A1").Value + 2
Call Couleurs.InitPiloteCouleur(Range("'Pilotes C130'!E" & i).Value)
Next i
Worksheets("pilotes c130").Select
Application.ScreenUpdating = True
Call Attente.Hide
Call MenuPpal.Show

Les propriétés de la userform : enabled true; showmodal false
 

Ours masqué

XLDnaute Junior
Re : Merci de patienter...

Désolé, je pense que nos réponses se sont croisées. Je n'avais pas lu ta réponse quand j'ai complété ma question. Bonne après midi !
Merci

J'ai une autre question sur les checkbox mais je vais sans doute mettre une autre discussion puisque ce sont des problèmes différents.
 

Creepy

XLDnaute Accro
Re : Merci de patienter...

Hello le Forum, Pascal, Ours Masqué,

C'est un problème classique la macro va trop vite et le système n'a pas le temps de rafraichir l'affichage.

Si j'ai bien compris tu as ta fenêtre Excel et un carré blanc ou gris, mais pas son contenu.

Si c'est ca tu mets en dessous de Call Attente.Show Doevents
Cette commande rend la main au systeme temporairement pour actualiser.

Cela devrait rentrer dans l'ordre. Si ca ne change pas tu peux combiner avec la méthode de PAscal en mettant un doevents en dessous de repaint aussi

A+

Creepy
 

Discussions similaires

Réponses
5
Affichages
657

Statistiques des forums

Discussions
312 503
Messages
2 089 055
Membres
104 013
dernier inscrit
VELONDAHY Mickaël