Dim HTA As Object
Sub Traitement()
'--- Lance le message d'attente ---
Call MsgBoxHTA(Prompt:="Veuillez patienter", ApparitionNbSecondes:=99999, Title:="Traitement en cours...")
'### Votre traitement ci-dessous ###
'°°° Pseudo traitement pour illustrer (à virer) °°°
Dim i&
For i& = 1 To 25000
[a1] = i&
Next i&
'°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
'### Fin de votre traitement ###
'--- Ferme la MsgBoxHTA ---
HTA.SendKeys "~"
Set HTA = Nothing
End Sub
Private Sub MsgBoxHTA(Prompt As String, ApparitionNbSecondes As Long, Title As String)
'Prompt = le message de la MsgBoxHTA
'ApparitionNbSecondes = la durée d'appariton de la MsgBoxHTA en secondes
' Si on spécifie un très grand nombre de secondes, il est impératif
' de stopper le message avec l'intruction HTA.SendKeys "~" à la fin
' de la procédure appelante.
'Title = le titre de la MsgBoxHTA
'---
DoEvents
'--- Crée la MsgBoxHTA ---
Set HTA = CreateObject("WScript.Shell")
HTA.Run "mshta.exe vbscript:Close(CreateObject(""WScript.Shell"")" & ".Popup(""" & _
Prompt & """," & ApparitionNbSecondes & ",""" & Title & """," & 0 & "))"
End Sub
'#####################################################
'### Autre exemple avec une durée d'apparition de ###
'### 5 secondes sans stop (absence de l'intruction ###
'### HTA.SendKeys "~" àla fin du code) ###
Sub UnAutreExemple()
'--- Lance le message d'attente ---
Call MsgBoxHTA(Prompt:="Je disparais dans 5 secondes", ApparitionNbSecondes:=5, Title:="Atteindre 5000 en G1")
'°°° Pseudo traitement pour illustrer (à virer) °°°
Dim i&
For i& = 1 To 5000
[g1] = i&
Next i&
'°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
End Sub
'######################################################