
Envoyé par
Cahlagan
afficher un msgbox qui dirait, dix secondes avant la fermeture, un message du style "Le fichier va se fermer dans dix secondes", puis affiche un décompte en secondes, 9, 8, 7, 6, etc.
Bonjour,
Pour afficher une boîte de message pendant 10 secondes (sans afficher le décompte) :
Exemple :
call MsgBoxTimer("Mon message",vbOKOnly, "Mon titre", 10)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| '----------------------------------------------------------------------------------------
Public Function MsgBoxTimer(Message As String, Boutons As VbMsgBoxStyle, Titre As String, _
DuréeAffichage As Byte) As VbMsgBoxResult
'----------------------------------------------------------------------------------------
' Affiche une boite de message comme MsgBox, mais avec une durée d'affichage maximale
' qui peut être déterminée.
'----------------------------------------------------------------------------------------
' Message : Message à afficher comme pour la fonction MsgBox.
' Boutons : Les mêmes boutons que pour la fonction MsgBox.
' Titre : Le titre de la boite comme pour la fonction MsgBox.
' DuréeAffichege : Durée en seconde d'affichage de la boite. Sauf si un choix est fait par l'utilisateur.
'----------------------------------------------------------------------------------------
' Renvoie : -1 si pas de choix, ou une constante VbMsgBoxResult comme pour MsgBox.
'----------------------------------------------------------------------------------------
Dim InfoBox As Object
Set InfoBox = CreateObject("WScript.Shell")
MsgBoxTimer = InfoBox.Popup(Message, DuréeAffichage, Titre, Boutons)
End Function
'---------------------------------------------------------------------------------------- |
Pour afficher le décompte il faut utiliser la fonction proposée par Thierry GASPERMENT (Arkham46), mais c'est 1 200 lignes de code, et est-ce bien nécessaire ?
Partager