Comment faire disparaitre une msgbox au bout de 2 secondes

Résolu
oz38 Messages postés 22 Date d'inscription mardi 23 mai 2006 Statut Membre Dernière intervention 31 mai 2006 - 24 mai 2006 à 15:57
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 - 29 mai 2006 à 11:10
j´ai essayer de mettre en place un timer pour faire disparaitre ma msgbox mais impossible de comprendre le fonctionnement.

actuellement jái un popup, ca marche, mais il me manque la propriété la fonction  vbApplicationModal
  spv aidez moi je patoge dans la puré

9 réponses

cs_vpoyo Messages postés 363 Date d'inscription vendredi 14 février 2003 Statut Membre Dernière intervention 20 avril 2010 6
24 mai 2006 à 16:14
petite sensation de déjà vu :)

regarde ici tu devrais trouver quelques éléments de réponses : http://www.vbfrance.com/infomsg_FONCTIONNEMENT-TIMER_744757.aspx
0
cs_thephil Messages postés 189 Date d'inscription mercredi 21 août 2002 Statut Membre Dernière intervention 19 janvier 2011
24 mai 2006 à 16:14
au lieu d'utiliser une msgbox, fais une form de la même taille et avec avec les mêmes boutons que ta msgbox, et là tu pourras controler le temps d'apparition avec ton timer.
c'est contraignant, enfin pas beaucoup quand même ;-) mais ça marchera !
0
oz38 Messages postés 22 Date d'inscription mardi 23 mai 2006 Statut Membre Dernière intervention 31 mai 2006
24 mai 2006 à 16:39
je nái pas tout compris
tu declare ton timer dans thisworkbook

Private Sub Timer1_timer()


End Sub

et apres dans ta userform tu met quoi?
0
cs_thephil Messages postés 189 Date d'inscription mercredi 21 août 2002 Statut Membre Dernière intervention 19 janvier 2011
24 mai 2006 à 16:49
dans ta userform, tu mets un bouton Ok, un bouton Annuler ... enfin ce que tu veux comme bouton, comme ta msgbox par exemple.
Tu dimensionnes ta userform comme tu le souhaite, tu écrit le code qui va bien sur les boutons que tu a mis.
Tu démarres ton timer (que tu as paramétré avec le temps qui te convient) dans la méthode load de ta userform, et dans Private Sub Timer1_timer() tu fermes ta userform.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_franckydeluka Messages postés 228 Date d'inscription mardi 5 avril 2005 Statut Membre Dernière intervention 4 janvier 2008 1
24 mai 2006 à 17:10
tiens je connais ce sujet

Modal système. Toutes les applications sont interrompues jusqu'à ce que l'utilisateur réponde au message affiché dans la zone de message.

en fait mais je peux me tromper je crois qu'il n'est pas possible de fermer une userform ouverte en vbmodal (donc msgbox ou une autre form en modal) sans attendre une action de l'utilisateur.
après reste à savoir si l'on peut simuler une action de l'utilisateur  ..

avec un timer je ne crois pas que ça marcherait mais c'est à tester.

après quel est l'intérêt de montrer une feuille en modal si c'est pour la fermer 2 secondes après ??? dans ce cas-là utilise plutôt la popup du précédent post.  mais pas une msgbox.

allez a+ et bonne prog.

Deluka.
0
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
24 mai 2006 à 18:08
franckydeluka < Un timer peut tout à fait fermer une fenêtre, qu'elle soit modale ou non !! La modalité d'une form ne fait qu'impliquer que l'utilisateur ne peuit rien faire d'autre dans aucune autre fenetre de l'application tant que cette fenetre modale est ouverte

Par contre la msgbox, c'est autre chose !! On n'a pas accès à la msgbox depuis le code VB ! Sauf via API, mais il est bien plus simple de se refaire sa propre msgbox via une userform, comme le propose thephil

CR
0
oz38 Messages postés 22 Date d'inscription mardi 23 mai 2006 Statut Membre Dernière intervention 31 mai 2006
29 mai 2006 à 10:39
le probleme est que je nárrive pas a comprendre comment faire fonctionner un timer, je ne sais pas commen quand et ou on doit le declarer, et comment le faire demarer a lóuverture de la boite et lárreter, malheureusement je suis novice dans ce domaine.
0
oz38 Messages postés 22 Date d'inscription mardi 23 mai 2006 Statut Membre Dernière intervention 31 mai 2006
29 mai 2006 à 10:46
pour repondre a franckidelaluka je veu láfficher en modal car si lútilisateur clic sur une feuille, j´ai des boites qui restent ouverte, et ne se ferme plus au bout de 2 secondes et cela me fais buger ma saisie dans mom workbook par la suite (ceci est present avec un popup, cest pour cela que je veux utiliser un MsgBox ou une userform avec un timer pour suprimer ce problème).
0
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
29 mai 2006 à 11:10
1- Pose un composant Timer sur ta form à fermer au bout de 2s
2- Règle sa propriété Interval à 2000 (ce sont des milisecondes)
3- Dans l'EVT Activate() de ta form, tu lance le Timer par un Timer1.Enabled = True
4- Dans l'EVT Timer() de ton Timer (celui qui va se déclenché 2s après la ligne mise dans l'EVT Activate() de la form, tu arrêtes le timer par un Timer1.Enabled = False et puis tu fermes ta form par un Unload Me

That's all folks !!!

CR
-2
Rejoignez-nous