fermer une msgbox apres un laps de temps determiné

  • Initiateur de la discussion jaba
  • Date de début
J

jaba

Guest
Salut les gars,

Je désire faire apparaitre une msgbox pendant seulement quelques seconde mais le seul code que j'ai trouver ne semble fonctionner que sur le classeur que j'ai telecharger sur ce lien:
Ce site n'existe plus
et ca donne ca:
---------------------------------------------
Private Function EndTimer() As Boolean
If TimerId Then
TimerId = KillTimer(0&, TimerId)
TimerId = 0
EndTimer = True
End If
End Function

Sub MsgBox_Timed()
If Not okVersion Then Exit Sub
TitleMsgBox = 'Self Closing MsgBox'
StartTimer1 2000
MsgBox 'This message will be displayed for 2 seconds', 64, TitleMsgBox
EndTimer
End Sub

Private Sub StartTimer1(Interval&)
If TimerId Then EndTimer
TimerId = SetTimer(0&, 0&, ByVal Interval, AddressOf CloseMsgBox)
End Sub

Private Sub CloseMsgBox(ByVal lHwnd&, ByVal lMsg&, ByVal lIDEvent&, ByVal lTime&)
Const WM_CLOSE = &H10

hWndMsgBox = FindWindow(vbNullString, TitleMsgBox) ' Find the Msgbox
Call SendMessage(hWndMsgBox, WM_CLOSE, 0, ByVal 0&) ' Close Msgbox
End Sub

Private Function okVersion() As Boolean
If Val(Application.Version) < 9 Then
MsgBox 'Cette application nécessite Excel2000 ou plus !', 48
Exit Function
End If
okVersion = True
End Function
--------------------------------------------

malheureusement il semble y avoir une erreur de compilation avec la fonction addressof

S'il vous plait aider moi....j'ai épuisez toutes mes ressources..

merci
 
A

Alain CROS

Guest
Bonjour.

Essayer comme ça.

Sub MsgBoxTmp()
Dim SH As Object
Set SH = CreateObject('WScript.Shell')
SH.Popup 'Le message qui disparait aprés 3 secondes', 3, 'Spécial jaba', 55
Set SH = Nothing
End Sub

Alain CROS
 

MichelXld

XLDnaute Barbatruc
bonsoir Jaba , bonsoir Alain

la procedure d'Alain fonctioone chez moi en enlevant , 55


Sub MsgBoxTmp()
Dim SH As Object
Set SH = CreateObject('WScript.Shell')
SH.Popup 'Le message qui disparait aprés 3 secondes', 3, 'Spécial jaba'
Set SH = Nothing
End Sub



bonne soiree
MichelXld
 
J

jaba

Guest
un grand merci les gars pour votre aide.

et si jamais ca peut interressé quelqu'un, j'ai trouver ce code
ca ne se passe pas avec une msgbox mais plutot avec une userform.....ca dérange pas trop, l'important est d'afficher un message

Private Sub UserForm_Activate()

newHour = Hour(Now())
newMinute = Minute(Now())
newSecond = Second(Now()) + 2
waitTime = TimeSerial(newHour, newMinute, newSecond)
Application.Wait waitTime

UserForm1.Hide

End Sub


a placer dans le code d'une userform

merci a tout les auteur qui m'ont aidé a résoudre ce probleme.

jaba
 

Discussions similaires

Statistiques des forums

Discussions
312 980
Messages
2 094 128
Membres
105 941
dernier inscrit
antho_qh