Message box démarrage

Bonjour,

comment avoir un message au demarrage et qui se ferme tout seul au bout de xx secondes?

Merci

Bonjour,

Pour faire apparaitre un message de manière simple il suffit de taper le code suivant

dans un module du vba

sub auto_open()

msgbox("coucou")

end sub

mais par contre il faut faire OK pour que le message parte.

Pour faire un message temporaire il faut utiliser des messages HTML via excel et c'est un peu plus compliquer à écrire.

Si jamais la première solution vous convient tant mieux

A+

Petidani

Bonsoir,

Mieux vaut utiliser le code ci-dessous et éviter les macros autoopen et autoclose qui font une peu partie de l'antiquité excel et que BILL veut supprimer (comme d'autre chose d'ailleurs).

Préfère plutôt ceci :

Private Sub Workbook_Open()
msgbox("coucou") 
End Sub

Macro à placer en VBA (ALT + F11) dans THISWORBOOK

Bonne soirée

Dan

Bonsoir,

une variante mais a valider avec OK comme petidani

Private Sub Workbook_Open()

Dim vMESSAGE, vNOMCLASSEUR, vREPONSE

vNOMCLASSEUR = ActiveWorkbook.Name

vMESSAGE = "Hé José, il est" & Time & vbCr & "Es que tu travailles ? " & vNOMCLASSEUR & "?"

vREPONSE = MsgBox(vMESSAGE, vbYesNo, "A quand même, salut jos comment vas tu ? ")

If vREPONSE = vbNo Then ActiveWorkbook.Close

End Sub

A +

re,

Message pour Henri. Attention à tes variables que tu déclares toutes en VARIANT.

Mieux comme ceci je pense :

Dim vMESSAGE As String, vNOMCLASSEUR As String

Dim vREPONSE As Integer

Bonne soirée

Dan

Bonsoir,

merci pour tes remarques, mais je débute voir même je trébuche ,bref je me plante en VBA. J'arrive a adapte des execices qui fonctionnent mais parfois j'ai des lacunes.

MAIS JE M AMUSE ce qui est pour moi un encouragement.

A +

Re,

Henri, pas de soucis.

Pour savoir si tu choisis la bonne variable ou ne pas les oublier, mets entête de chaque module --> OPTION EXPLICIT

Donc ici tu le mets avant SUB PRIVATE....

Bonne soirée

Dan

La question posée était que le message se ferme seul, le msgbox ne conviendra donc pas (dommage c'eut était trop simple)... Il faut utiliser un usf qu'on affiche (en modal c'est mieux) par Workbook_Open et ensuite une procédure qui compare l'heure avec l'heure avec l'heure à laquelle à démarré d'affichage (une boucle). Attention il faut utiliser UserForm_Activate et pas UserForm_Initialize qui se déclenche avant l'affichage. Attention encore à mettre Doevents dans la boucle pour que l'affichage s'exécute normalement.

Tout aussi simple non ?

re,

Soft a raison. Lol je me suis laissé guidé par la deuxième réponse.

Correction donc :

1. dans un nouveau fichier dessiner une zone de texte avec la boite à outils "dessin"

2. mettre cette macro en VBA (ALT + F11) dans THISWORBOOK

Private Sub Workbook_Open()
    ActiveSheet.Shapes("Text Box 1").Visible = True
    Application.OnTime Now + TimeValue("00:00:05"), "EffacerMessage"
End Sub

3. Toujours en VBA, insérer un module et mette la macro ci-dessous

Sub EffacerMessage()
ActiveSheet.Shapes("Text Box 1").Visible = False
End Sub

4. enregistre le fichier puis ferme le

A l"ouverture la boite sera affichée pendant 5 secondes.

A bientôt

Dan

Pouvez vous joindre un fichier exemple car je n'y arrive pas?

Merci

Re,

Voilà le fichier -> https://www.excel-pratique.com/~files/doc/vacoq.xls

A l'ouverture, la zone de texte sera affichée pendant 5 secondes.

A te lire

Dan

VRAIMENT SUPER!

Merci

comment je fait pour modifier une fois le texte effacer de l'écran?

Bonjour,

Ouvre ton fichier sans activer les macros et fais les modifications.

Peut-être faudra-t-il refaire un nouveau dessin

Nad

Edit : S'il faut refaire le dessin, pense à modifier son n° dans la macro

Bonsoir,

L'ami Nad-Dan (mes salutations) était on ne peut plus clair !

enfin voici un exemple tout fait !

https://www.excel-pratique.com/~files/doc/654_message_temporaire.xls

Cordialement

Alain

Une variante selon ma vision de la question et mon post précédent (avec un Userform).

Sub Workbook_Open()

CreateObject("Wscript.shell").Popup "Mon texte ici" & Chr(10) & "ma deuxième ligne ici", 5, "titre de la msgbox", vbExclamation

End Sub

--> code à placer dans this workbook

Rechercher des sujets similaires à "message box demarrage"