Icône de la ressource

VBA - Temporiser MsgBox ou un Userform ou n'importe quelle application - Une méthode simple V2

Le fichier à télécharger SetMsgBoxTimer.xlsm contient:
  1. Le Module_SetMsgBoxTimer à importer dans le projet VBA.
  2. Le Module_TestMsgBox comme exemple de mise en œuvre pour un MsgBox.
  3. Le Module_TestMsgPointBox comme exemple de mise en œuvre pour le Custom MsgBox.
  4. Le Module_TestUserForm1 comme exemple de mise en œuvre pour un UserForm quelconque.
  5. Le Module_TestFirefox comme exemple de mise en œuvre pour une application
Note: Voir toutes mes ressources -> https://excel-downloads.com/resources/?creator_id=268468

Les principales caractéristiques:
  • Cette procédure initialement faite pour limiter la durée d'affichage d'un MsgBox peut également être utilisée pour un UserForm ou n'importe quelle application lancée par le code VBA. Le fenêtre concernée, si toujours présente, est fermée à échéance du délai imparti.

  • L'appel à cette procédure doit être fait immédiatement avant l'instruction MsgBox ou UserForm.Show ou Shell de lancement d'une application.

  • Une variable publique booléenne SetMsgBoxTimerTimeOut permet de savoir si le délai d'attente a été atteint.
Mise en œuvre très simple:
  • Placer le Module_SetMsgBoxTimer dans la projet VBA.

  • Dans le code VBA, utiliser la fonction SetMsgBoxTimer juste avant l'instruction MsgBox ou UserForm.Show ou Shell de lancement d'une application en indiquant le nombre de secondes (Single) du délai d'attente.
    VB:
    Sub Exemple()
        Call SetMsgBoxTimer(2.5)
        MsgBox "Vous avez 2 secondes et demie pour cliquer sur le bouton !"
        If SetMsgBoxTimerTimeOut Then MsgBox "Trop tard !"
    End Sub
Note:
Versions:
  • V1 - Initiale.
  • V2 - Compatibilité Office 32 bits.
Timer.gif

Derniers avis

Bonjour,
J'utilise Excel 2010, j'ai une erreur qui boucle.
Merci quand même pour ce développement.
Bonne Journée.
Dudu2
Dudu2
Bonjour,
Peut-être est-ce dû au fait que tu es en Office 32 bits.
La V2 est compatible Office 32 bits. A essayer !
Cordialement.
Super