J'aimerai qu'on m'explique un truc....

yafisab Messages postés 106 Date d'inscription jeudi 13 mai 2004 Statut Membre Dernière intervention 6 janvier 2005 - 24 juin 2004 à 10:02
yafisab Messages postés 106 Date d'inscription jeudi 13 mai 2004 Statut Membre Dernière intervention 6 janvier 2005 - 24 juin 2004 à 10:28
Bonjour,

Quelqu'un peut-il m'expliquer pourquoi, en vba, lorsqu'on crée une fonction qui comporte une instruction pour afficher quelque chose (par exemple: rendre visible un label) suivie d'autres instructions(recherche de valeur dans une table par exemple) exécute toujours l'affichage en dernier ?

ce que j'essaie de faire: c une fonction qui:
1, affiche un label avec un text pour prévenir que l'action qui va suivre va prendre un peu de temps.
2,exécute l'action en question

et avec mon code,ce qui se passe à l'exécution:
1, l'action est exécutée
2, le label est affiché
grrrrrr :(

yaf_yaf

3 réponses

cs_liquide Messages postés 1016 Date d'inscription samedi 22 mars 2003 Statut Membre Dernière intervention 24 juin 2008
24 juin 2004 à 10:12
salut, peut etre que (hypothèse)le code est exécuté tres rapidement, mais que le "dessin" de ton text, c'est a dire l'affichage graphique met plus de temps dans ce cas, l'affichage de ton text perd la priorité ou est mis en attente le temps que ta procedure soit fini.
essais de placer un "doevents" si il existe en vba, entre les 2.

bonne prog
liquide
0
cs_PhilippeE Messages postés 437 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 10 août 2010 2
24 juin 2004 à 10:15
Pas mieux, VB (et VBA) ne sont pas taillés pour faire du graphique (ou alors via les API, librairies dédiées, ...)
Le DoEvents permet de rafraichir l'écran avant de poursuivre.
0
yafisab Messages postés 106 Date d'inscription jeudi 13 mai 2004 Statut Membre Dernière intervention 6 janvier 2005
24 juin 2004 à 10:28
C'est exactement ca!
un doevents entre les deux...

Merci bcp!
8-)
yaf_yaf
0
Rejoignez-nous