Messagebox en fonction de la date et heure

misterjo

XLDnaute Nouveau
Bonjour à tous,

au boulot j'ai un fichier excel qui sert de tableau de bord pour du personnel exploitant.
Je suis à la recherche d'une solution pour afficher un "messagebox" à l'ouverture de ce fichier en fonction de la date et de l'heure.
Ce messagebox est un rappel destiné au personnel qui ont poste de nuit le jeudi.
Donc je voudrais faire apparaitre le message à l'ouverture du tableau de bord tous les jeudi de 22h00 au vendredi 6h00 (soit pendant les 8h00 du poste de nuit)

Mille merci d'avance
 

misterjo

XLDnaute Nouveau
Re : Messagebox en fonction de la date et heure

euh .... non
en fait, j'ai déjà un code qui affiche un message pendant 3 secondes puis se ferme.
Je voudrais que ce message box s'affiche (et se fermera donc automatiquement au bout de 3 s) lors de l'ouverture du tableau de bord (c'est un simple fichier excel avec des pointeurs) que si on est, entre jeudi 22h00 et vendredi 6h00.
En résumé, si j'ouvre le tableau de bord un jeudi à 23h00, le message box doit s'afficher pendant les 3s puis se fermer et l'utilisateur reprend la main, mais pas de message si j'ouvre le tableau de bord le jeudi à 21h00.

Je ne sais pas si il y a une solution, mais merci à toi de te pencher sur le problème.
 

Staple1600

XLDnaute Barbatruc
Re : Messagebox en fonction de la date et heure

Re



Peux-t-on voir le code VBA déjà existant , please ?

EDITION: autrement essaye de t'inspire de ceci
Code:
Sub test()
Dim m$
m = "message ligne 1" & Chr(13)
m = m & "message ligne 2"
If Weekday(Date) = 2 Then 'mettre 5 pour jeudi
If Hour(Time) >= 22 Or Hour(Time) <= 6 Then
MsgBox m
End If
End If
End Sub
 
Dernière édition:

misterjo

XLDnaute Nouveau
Re : Messagebox en fonction de la date et heure

Voici le code insérer dans un UserForm1 qui est activé par la commande : UserForm1.Show (placé dans la partie Workbook_Open())

Private Sub UserForm_Activate()
Dim T
T = Timer
' Boucle tant que 2 secondes ne se sont pas écoulées
DoEvents
Do
If Timer < T Then Exit Do '--> merci à Lord Nelson !
Loop Until Timer > T + 2
Unload Me
End Sub

Ce code récupéré sur ce forum, fonctionne très bien.
Remplacer le UserForm par un message box ne devrai pas poser de problème et, peut être, simplifier le code.
Concernant le test il faut faire attention, car la problématique du poste de nuit c'est que le jeudi après minuit, (de 24h00 à 6h00) ben on est vendredi.

Cordialements
 

Discussions similaires

Réponses
2
Affichages
286

Statistiques des forums

Discussions
312 504
Messages
2 089 072
Membres
104 018
dernier inscrit
Mzghal