Comment faire disparaitre une msgbox au bout de 2 secondes [Résolu]

oz38 22 Messages postés mardi 23 mai 2006Date d'inscription 31 mai 2006 Dernière intervention - 24 mai 2006 à 15:57 - Dernière réponse : crenaud76 4172 Messages postés mercredi 30 juillet 2003Date d'inscription 9 juin 2006 Dernière intervention
- 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é
Afficher la suite 

9 réponses

Répondre au sujet
cs_vpoyo 363 Messages postés vendredi 14 février 2003Date d'inscription 20 avril 2010 Dernière intervention - 24 mai 2006 à 16:14
0
Utile
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
Commenter la réponse de cs_vpoyo
cs_thephil 189 Messages postés mercredi 21 août 2002Date d'inscription 19 janvier 2011 Dernière intervention - 24 mai 2006 à 16:14
0
Utile
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 !
Commenter la réponse de cs_thephil
oz38 22 Messages postés mardi 23 mai 2006Date d'inscription 31 mai 2006 Dernière intervention - 24 mai 2006 à 16:39
0
Utile
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?
Commenter la réponse de oz38
cs_thephil 189 Messages postés mercredi 21 août 2002Date d'inscription 19 janvier 2011 Dernière intervention - 24 mai 2006 à 16:49
0
Utile
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.
Commenter la réponse de cs_thephil
cs_franckydeluka 228 Messages postés mardi 5 avril 2005Date d'inscription 4 janvier 2008 Dernière intervention - 24 mai 2006 à 17:10
0
Utile
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.
Commenter la réponse de cs_franckydeluka
crenaud76 4172 Messages postés mercredi 30 juillet 2003Date d'inscription 9 juin 2006 Dernière intervention - 24 mai 2006 à 18:08
0
Utile
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
Commenter la réponse de crenaud76
oz38 22 Messages postés mardi 23 mai 2006Date d'inscription 31 mai 2006 Dernière intervention - 29 mai 2006 à 10:39
0
Utile
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.
Commenter la réponse de oz38
oz38 22 Messages postés mardi 23 mai 2006Date d'inscription 31 mai 2006 Dernière intervention - 29 mai 2006 à 10:46
0
Utile
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).
Commenter la réponse de oz38
crenaud76 4172 Messages postés mercredi 30 juillet 2003Date d'inscription 9 juin 2006 Dernière intervention - 29 mai 2006 à 11:10
-2
Utile
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
Commenter la réponse de crenaud76

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.