oz38
Messages postés22Date d'inscriptionmardi 23 mai 2006StatutMembreDernière intervention31 mai 2006
-
24 mai 2006 à 15:57
crenaud76
Messages postés4172Date d'inscriptionmercredi 30 juillet 2003StatutMembreDerniè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é
cs_thephil
Messages postés189Date d'inscriptionmercredi 21 août 2002StatutMembreDernière intervention19 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 !
cs_thephil
Messages postés189Date d'inscriptionmercredi 21 août 2002StatutMembreDernière intervention19 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.
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_franckydeluka
Messages postés228Date d'inscriptionmardi 5 avril 2005StatutMembreDernière intervention 4 janvier 20081 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.
crenaud76
Messages postés4172Date d'inscriptionmercredi 30 juillet 2003StatutMembreDernière intervention 9 juin 200628 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
oz38
Messages postés22Date d'inscriptionmardi 23 mai 2006StatutMembreDernière intervention31 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.
oz38
Messages postés22Date d'inscriptionmardi 23 mai 2006StatutMembreDernière intervention31 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).
crenaud76
Messages postés4172Date d'inscriptionmercredi 30 juillet 2003StatutMembreDernière intervention 9 juin 200628 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