VBA simple durée affichage message macro (msgbox)

Bonsoir à tous,

Tjrs aussi malade (saloperie de rhinopharyngite), je cherche à passer le temps et donc je chipote..

je m'essaie à un ou deux petits trucs sur la macro..mais je suis nulle part ou presque.... :-)

je joins ci-dessous ma marco ... qui est toute bête..

Private Sub Workbook_Open()
MsgBox "Bonjour à vous et excellente journée"
End Sub

j'aimerais juste savoir s'il est possible de mettre un temps pour l'affichage.

ma macro va s'ouvrir au moment d'ouvrir le fichier mais est-il possible de limiter le temps de son affichage ? (3 heures, 6 heures, 12 heures ?)

l'idée est que le message de s'affiche plus après un certain temps et que la personne ne doive plus faire "ok"

Merci pour votre aide..et bonne soirée à vous.

Ben

Bonsoir ben25000 ,

Un essai en utilisant un userform nommé UserForm1 et non pas l'instruction msgbox().

il y a du code dans :

  • un module nommé Module1 (pour définir la durée d'affichage du UserForm1 en seconde via la constante Duree, pour stocker la variable FinPrevue indiquant la fin d'affichage de l'UserForm1, pour le code à exécuter quand l'affichage se termine)
  • associé à l'UserForm1 (pour lancer le décompte de l'affichage de UserForm1 procédure Initialize, pour arrêter le décompte et refermer l'UserForm1 procédure Terminate et du code pour le bouton Annuler qui s'active par la touche Esc pour refermer l'Userform1 facilement - on peut aussi utiliser la X en haut à droite du UserForm1 )
  • dans le module associé à ThisWorkbook pour afficher UserForm1 à l'ouverture du classeur

nota : j'ai défini la durée d'affichage à 10 s pour les tests. Vous pourrez bien sûr la modifier dans le code de Module1

rem : pour refermer le message (UserForm1), il suffit de tapez la toucher Esc ou bien de cliquer sur la X de la barre de titre

astuce : Le bouton Annuler figure sur l'Userform1. Mais pour le voir, il faut élargir Userform1.

CreateObject("WScript.Shell").Run "mshta.exe vbscript:close(CreateObject(""WScript.Shell"").Popup(""Bonjour à vous et excellente journée"",3,""Leakim""))"

Salut

Tu peux aussi faire avec un objet type pop-up qui disparait après un temps donné.

Tu mets ce bout de code dans ta macro à la place d'une Msgbox

Leakim

Bonjour mafraise, bonjour leakim,

un tt tt grand merci pour vos propositions.. je vais essayer de comprendre :-) et voir si je sais faire tt seul :-)

je pensais que pour suspendre la macro pour (pour qu'elle ne s'affiche plus) j'avais juste à ajouter une ' qq part...

mais j'avoue essaie quelque truc mais sans chercher à devenir un expert de la macro..

Bonne soirée à vous et déjà joyeux noël.. :-)

Ben

Angers en force sur ce fil.

En espérant que cela fasse avancer ton projet.

Joyeuses fêtes également.

Leakim

Bonsoir à tous ,

leakin a dit : Angers en force sur ce fil

Joyeuses fêtes à tous et en particulier à leakin, aux Angevins et à tous les Ligériens en général.

image

Merci à également.

Beau point de vue, depuis le premier étage d'un pub dont je terrai le nom

Bonjour leakim, bonjour mafraise..

merci à tous les deux pour vos interventions...:-)

heum... une petite idée du comment je peux suspendre la macro pour qu'elle ne s'applique plus ?

Bien à vous et un très bon noël à tous les deux.. :-)

Ben

Bonjour,

Quelle est exactement la question ?

  • On ne veut plus de temporisation à l'affichage de la fenêtre de bienvenue ?
  • On ne veut plus l'affichage de la fenêtre de bienvenue ?
  • Autre chose ?

Bonjour mafraise,

merci de votre réponse.

je cherche à suspendre le message jusqu'au prochain message... à une autre date.

exemple ajouter une ' qq part pour que la macro ne s'exécute pas..mais reste dans le fichier pour le jour ou je devrais mettre un nouveau message.

Merci à vous pour votre aide.. :-)

ben

Re,

En image :

image

bonjour le fil,

on peut faire la même chose avec un bouton, qui est pour la plupart du temps invisible (ou même, n'existe pas encore), mais si l'on veut, on le montre avec un texte et couleur variable et dès qu'on touche ce bouton ou après x secondes, il disparaît.

Bonjour mafraise, bonjour BsAlv,

merci pour vos réponses et retour.

c'est très gentil.. :-) et ça m'aide.. :-)

BsAlv, merci de votre proposition mais je suis une bulle en Excel et encore plus en VBA...:-)

donc j'essaie de faire petit pour comprendre ce que je fais... :-)

votre proposition est intéressante mais je dois avouer ne pas suffisamment maitriser la macro pour me lancer.. :-)

Joyeux noël à tous les deux.. :-)
ben

re,

avec la macro "Montrer_Ben", on commence avec ce msgbox classique et puis un msgbox temporaire ....

Bonjour BsAlv,

Un tt tt tt grand merci pour votre fichier.. je vais le regarder et essayer de tout comprendre :-)

encore mille mercis :-)

ben

Rechercher des sujets similaires à "vba simple duree affichage message macro msgbox"