[VBA] Boîte qui se ferme toute seule au bout de 5 s.

Boîte qui se ferme toute seule au bout de 5 s. [VBA] - VB/VBA/VBS - Programmation

Marsh Posté le 10-06-2008 à 16:12:39    

:hello:  
 
Et bien, c'est encore moi...  :p  
 
J'ai créé une boîte de dialogue où l'on saisit des montants dans des TextBox.
Parfois, lorsqu'une valeur est saisie (ou pas) dans une TextBox, une autre boîte peut s'afficher pour avertir l'opérateur (grâce à un sub_AfterUpDate).
J'aimerais que cette petite deuxième boîte s'affiche quelques secondes... et se ferme tout seule... comme une grande  :lol:  ... et rende la main à la première boîte...
 
ça est possible ??? :D


---------------
iMac 4Ghz (fin 2015) RAM 16Go SSD 256Go SSD 2To
Reply

Marsh Posté le 10-06-2008 à 16:12:39   

Reply

Marsh Posté le 10-06-2008 à 16:34:08    

scaryfan a écrit :

:hello:  
 
Et bien, c'est encore moi...  :p  
 
J'ai créé une boîte de dialogue où l'on saisit des montants dans des TextBox.
Parfois, lorsqu'une valeur est saisie (ou pas) dans une TextBox, une autre boîte peut s'afficher pour avertir l'opérateur (grâce à un sub_AfterUpDate).
J'aimerais que cette petite deuxième boîte s'affiche quelques secondes... et se ferme tout seule... comme une grande  :lol:  ... et rende la main à la première boîte...
 
ça est possible ??? :D


 
J'ai trouvé ce lien mais ça me paraît compliqué quand même...  :o  
 
http://docvb.free.fr/codedetail.php?idc=95
 
 :sleep:


---------------
iMac 4Ghz (fin 2015) RAM 16Go SSD 256Go SSD 2To
Reply

Marsh Posté le 10-06-2008 à 17:06:38    

http://msdn.microsoft.com/en-us/li [...] e.11).aspx ?


---------------
Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn
Reply

Marsh Posté le 10-06-2008 à 17:19:53    

J'ai essayé mais ça ne répond pas à ma question...  :o  
Dans mon code, j'ai mis "BOITE.Show", ma boîte s'ouvre... et j'aimerais qu'elle se ferme d'elle-même au bout de quelques secondes...
Je ne trouve pas...
 :(

Reply

Marsh Posté le 10-06-2008 à 20:01:01    

Salut, en VB tu peux faire quelque chose comme ça :
 
' ouverture fenêtre
BOITE.show
 
T = Timer()  
 
' boucle qui dure 5 secondes
Do while T + 5 > Timer()
   
   DoEvents
 
Loop
 
' fermeture fenêtre
BOITE.hide
 
 


---------------
[FEED-BACK]
Reply

Marsh Posté le 11-06-2008 à 11:57:34    

pault6 a écrit :

Salut, en VB tu peux faire quelque chose comme ça :
 
' ouverture fenêtre
BOITE.show
 
T = Timer()  
 
' boucle qui dure 5 secondes
Do while T + 5 > Timer()
   
   DoEvents
 
Loop
 
' fermeture fenêtre
BOITE.hide
 
 


 
Merci...
Malheureusement, la boîte s'ouvre mais ne se referme pas... et c'est quand je la ferme qu'un laps de temps de 5 s. s'écoule et ensuite la macro tente de fermer la BOITE... et comme elle est déjà fermée, j'ai le message :
'Erreur d'exécution 402 - Vous devez d'abord fermer ou masquer la feuille modale de premier plan'
 :(


---------------
iMac 4Ghz (fin 2015) RAM 16Go SSD 256Go SSD 2To
Reply

Marsh Posté le 11-06-2008 à 13:49:52    

:hello:  
 
Bon, j'ai trouver ce lien aussi... mais ça ne marche pas non plus...  :(  
http://support.microsoft.com/kb/462855/fr
 
 :cry:


---------------
iMac 4Ghz (fin 2015) RAM 16Go SSD 256Go SSD 2To
Reply

Marsh Posté le 11-06-2008 à 15:02:30    

Bon, j'ai trouver ça et ça marche !!!
 

Code :
  1. Sub MsgBoxTmp()
  2.     Dim SH As Object
  3.     Set SH = CreateObject("WScript.Shell" )
  4.     SH.Popup "Le message qui disparait aprés 3 secondes", 3, "3 secondes", 48
  5.     Set SH = Nothing
  6. End Sub


 
Malheureusement, c'est une boîte Windows classique alors que je cherchais à appliquer la fermeture automatique à une boîte de dialogue personnalisée...
Bref, je vais me contenter de cette soluce...
;)


---------------
iMac 4Ghz (fin 2015) RAM 16Go SSD 256Go SSD 2To
Reply

Marsh Posté le 11-06-2008 à 15:39:59    

scaryfan a écrit :

:hello:  
 
Bon, j'ai trouver ce lien aussi... mais ça ne marche pas non plus...  :(  
http://support.microsoft.com/kb/462855/fr
 
 :cry:


 
C'est bizarre, il avait l'air pas mal ce code...  :??:


---------------
iMac 4Ghz (fin 2015) RAM 16Go SSD 256Go SSD 2To
Reply

Marsh Posté le 11-06-2008 à 16:00:56    

bonjour,
 
est ce qu'avec ce code ca marche ?
 
Private Sub TextBox1_Enter()
Dim PauseTime, Start, Finish, TotalTime
 
PauseTime = 5    ' Set duration.
Start = Timer    ' Set start time.
Do While Timer < Start + PauseTime
    DoEvents    ' Yield to other processes.
Loop
UserForm1.Hide
End Sub

Message cité 1 fois
Message édité par 86vomito33 le 11-06-2008 à 16:08:01
Reply

Marsh Posté le 11-06-2008 à 16:00:56   

Reply

Marsh Posté le 11-06-2008 à 16:34:34    

eureka
 
je pense avoir trouver
 
est ce que cela te va ?
 
http://cjoint.com/?glqH6s4hG5
 
EDIT:
apres avoir cliquer sur CLICK ICI rentre nimporte quoi ds le text box
 
vaut mieux mettre  Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)


Message édité par 86vomito33 le 11-06-2008 à 16:41:14
Reply

Marsh Posté le 11-06-2008 à 16:38:51    

86vomito33 a écrit :

bonjour,
 
est ce qu'avec ce code ca marche ?
 
Private Sub TextBox1_Enter()
Dim PauseTime, Start, Finish, TotalTime
 
PauseTime = 5    ' Set duration.
Start = Timer    ' Set start time.
Do While Timer < Start + PauseTime
    DoEvents    ' Yield to other processes.
Loop
UserForm1.Hide
End Sub


 
Merci...
J'ai adopté l'autre script...
Merci encore !!!


---------------
iMac 4Ghz (fin 2015) RAM 16Go SSD 256Go SSD 2To
Reply

Marsh Posté le 27-08-2008 à 00:28:59    

Bonjour,
 
Je n'arrive pas à exploiter l'exemple de script que tu as adopté,
peux-tu me l'envoyer tel que tu l'as paramétré ?
Merci d'avance,


---------------
G57
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed