Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

MsgBox pour alerte chaque fin d'année au 31 décembre

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

MuscatMimi

XLDnaute Accro
Bonjour a tout le forum

Dans mon appli en fin de dévellopement je cherche a créer un MsgBox
afin ,qu'en fin d'année une alerte sur ma page Accueil

afin qu'au 31 Décembre de chaque année, a 20 heures un message d'alerte s'affiche sur ma page d'Accueil, et que ceMsgBox , 'affiche toujours temps que le nouveau classeur n'est pas crée,
alerte genre "Attention vous êtes arrivé en fin d'année penser a créér un nouveau classeur

merci beaucoup a bientôt
Cordialement
 
Re : MsgBox pour alerte chaque fin d'année au 31 décembre

Bonjour,

Pour simplement un message d'alerte le 31/12 à 20:00 :

Code:
'Dans ThisWorkbook
Private Sub Workbook_Open()
Application.OnTime CDate("31/12/" & Year(Date) & " 20:00"), "message"
End Sub

'Dans un module
Sub message()
MsgBox "votre message"
End Sub

Pour l'histoire du classeur créé ou non, il faut un test dans la 1ère macro, je vous laisse le faire...

A+
 
Dernière édition:
Re : MsgBox pour alerte chaque fin d'année au 31 décembre

Re,

Je vais quand même vous aider un peu plus.

Si le classeur doit être dans le même dossier et qu'il s'appelle toto, écrivez :

Code:
'Dans ThisWorkbook
Private Sub Workbook_Open()
If Dir(ThisWorkbook.Path & "\toto.xls") <> "" Then Application.OnTime CDate("31/12/" & Year(Date) & " 20:00"), "message"
End Sub

Sinon remplacez ThisWorkbook.Path par le chemin d'accès.

A+
 
Re : MsgBox pour alerte chaque fin d'année au 31 décembre

Re,

Bon, j'ai oublié une chose.

Si l'on veut que le message ne s'affiche qu'une fois si le classeur est ouvert plusieurs fois dans la même session d'Excel, utiliser :

Code:
'Dans ThisWorkbook
Private Sub Workbook_Open()
[COLOR="Red"]On Error Resume Next
Application.OnTime CDate("31/12/" & Year(Date) & " 20:00"), "message", Schedule:=False[/COLOR]
If Dir(ThisWorkbook.Path & "\toto.xls") <> "" Then Application.OnTime CDate("31/12/" & Year(Date) & " 20:00"), "message"
End Sub

A+
 
Dernière édition:
Re : MsgBox pour alerte chaque fin d'année au 31 décembre

Salut Job75

merci pour tes réponses , ça me va ,,,,,,super
je viens de tester c'est OK
Par contre j'espére qu'une fois le classeur 2008 est sauvegardé,que le MsgBox n s'affichera plus

et de même pour le classeur créé

A voir ,je vais testé cette manip

A + Job et merci encore
 
Re : MsgBox pour alerte chaque fin d'année au 31 décembre

Re,

Par contre j'espére qu'une fois le classeur 2008 est sauvegardé,que le MsgBox n s'affichera plus

Je ne comprends pas, et rien n'est prévu en ce sens.

Le message s'affichera à chaque ouverture du classeur 2008, après le 31/12/08 20:00, tant que le classeur 2009 ne sera pas créé.

A+
 
Dernière édition:
Re : MsgBox pour alerte chaque fin d'année au 31 décembre

Re,

Un point qui cloche.

Si la session Excel reste la même entre l'ouverture du classeur et le 31/12/08 20:00, et que vous créez le classeur 2008 entre ces 2 instants, le message s'affichera quand même.

Pour remédier à ce problème, mettez le test dans la 2ème macro et ôtez-le de la 1ère :

Code:
'Dans un module
Sub message()
[COLOR="Red"]If Dir(ThisWorkbook.Path & "\toto.xls") <> "" Then[/COLOR] MsgBox "votre message"
End Sub

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…