Affichage d'un Popup(avec message) chaque début de mois

Bonjour,
j’ai un fichier commandes basique sur lequel je dois en début de mois lancer un traitement. Je voudrais que le premier jour ouvré du mois il m’affiche un Popup (msgbox) “Ne pas oublier de Lancer le traitement des commandes”.

J’ouvre mon fichier que les jours ouvrés de la semaine. Donc si le premier jour du mois est un samedi ou dimanche je voudrais que le popup s’affiche le lundi suivant.

Exemple pour février 2020, le popup se serait affiché le lundi 3 février. Pour Mars le lundi 2 etc etc…

Je pense qu’il faut passer par un macro workthisbook

Merci à la communauté

Salut
Dans le ThisWorkbook mets ceci :

Private Sub Workbook_Open()
If Format(Date, “DD”) < 8 And Format(Date, “dddd”) = “lundi” Then
MsgBox (“Ne pas oublier de Lancer le traitement des commandes”)
End If
End Sub

J’espère que cela fonctionnera

Une précision
J’ai considéré en début de mois dans cette ligne une action le lundi :

If Format(Date, “DD”) < 8 And Format(Date, “dddd”) = “lundi” Then

Si on souhaite une action début de mois un jour ouvré de la semaine la modifier ainsi :

If Format(Date, “DD”) < 8 And Format(Date, “dddd”) <> “samedi” And Format(Date, “dddd”) <> “dimanche” Then

A voir

Super merci je teste demain.
Grand merci

Une autre précision dans ma proposition :
If Format(Date, “DD”) < 8 And Format(Date, “dddd”) <> “samedi” And Format(Date, “dddd”) <> “dimanche” Then
Le message apparaîtra tous les jours de la première semaine jusqu’au 7 inclus
Si tu souhaites le voir qu une fois il faut plutôt mettre ces lignes :
If Format(Date, “DD”) = 1 And Format(Date, “dddd”) <> “samedi” And Format(Date, “dddd”) <> “dimanche” Then
MsgBox (“Ne pas oublier de Lancer le traitement des commandes”)
End If
If Format(Date, “DD”) = 2 And Format(Date, “dddd”) = “lundi” Then
MsgBox (“Ne pas oublier de Lancer le traitement des commandes”)
End If
If Format(Date, “DD”) = 3 And Format(Date, “dddd”) = “lundi” Then
MsgBox (“Ne pas oublier de Lancer le traitement des commandes”)
End If

Ainsi pour tout jour du lundi au vendredi pour lequel c est le premier jour du mois le message sera donné et ce une seule fois de même pour le lundi 2 et le lundi 3 qui correspond au samedi ou dimanche premier du mois

À tester

Salut FFO,

j’ai testé mais je dois avoir une erreur de syntaxe dans la macro que tu m’as filé.

Mais je n trouve pas

Merci

Quand je regarde ta copie d’écran je m’aperçois que les doubles cote dans les lignes de code de If à End If sont différentes de celles que tu as dans la ligne de code Application.Workbook.Open…
Dans les lignes de code If à End If supprime chaque double cotes et retapes les au clavier (touche 3)
Celles en place sont penchés alors qu’elles doivent être droite et verticale
Certainement là ton soucis
N’oublies pas de consulter mes derniers messages pour mettre en place la bonne solution en fonction de tes attentes
Si le soucis persiste envoies moi ton fichier en enlevant toutes les données confidentielles

Effectivement bien vu.
J’ai tout modifié, y’a plus d’erreur de syntaxe.
Wait and see pour le fonctionnement le 02 mars.

@+

Bah écoutes j’ai pa pu attendre le 02 mars. J’ai changé les critères et le popup s’affiche nickel.ça fonctionne parfaitement.
image
Crois-tu possible(facilement) d’apposer des mises en forme au popup ?
ajouter une image JPEG ou PNG avant le texte
Titre du POPUP “Attention, Rappel”(à la place de Microsoft Excel)
couleur du popup rouge.

Ravi que cela fonctionne et te convienne
Attention toute fois la solution choisie pourra déclencher un message sur plusieurs jours hors mis le samedi et le dimanche jusqu au 7 du mois avec le critères que j ai paramétré (If Format(Date, “DD”) < 8 )
Si tu souhaites qu un seul jour ne déclenche le message il faut prendre ma dernière proposition en faisant attention au double côtés
Pour la mise en forme du popup on peut sans souci mettre un titre dans son cadre
Me dire lequel
On peut organiser le message avec des retours à la ligne
Quant à des images je ne pense que cela soit possible
Je regarderai sur internet pour confirmation
Donnes moi les évolutions que tu envisages

Un popup dans ce style
image
Contour popup rouge
Titre popup = “RAPPEL”
Image gyrophare dans popup
Texte sur 2 lignes
Mais te casses pas déjà j’ai tu m’as donné ce qu’il me faut. Là c’est juste de l’embellissement. Je vais également scruter la toile.
@+

Je te propose déjà cela:

MsgBox (“RAPPEL” & vbLf & vbLf & vbLf & “Début du mois.” & vbLf & vbLf & “Ne pas oublier de faire les formules de calcul dans l’onglet ‘Stats’”)

les vblf sont les retour chariot
Pour augmenter l’espace entre 2 lignes il suffit d’en rajouter
Pour la couleur et l’image je crains que cela ne soit pas faisable
A regarder sur le web l’instruction MsgBox
Un dernier détail sur mon code proposé seuls les jours fériés ne sont pas pris en considération
Si tu souhaites comme les samedi dimanche les exclures pas d’autre choix que de les lister dans une colonne et d’aller vérifier si la date traité y est présente
A toi de me dire

2° proposition :

MsgBox “Début du mois.” & vbLf & vbLf & “Ne pas oublier de faire les formules de calcul dans l’onglet ‘Stats’”, vbInformation, “RAPPEL”

Tu en as déjà fait plus que j’en avais besoin. Un grand merci

Et si le lundi est férié ? Sauf erreur ou omission je n’ai pas vu la résolution de ce cas.

Bonjour
Dans ma dernière réponse je l ai signalé
“Un dernier détail sur mon code proposé seuls les jours fériés ne sont pas pris en considération
Si tu souhaites comme les samedi dimanche les exclures pas d’autre choix que de les lister dans une colonne et d’aller vérifier si la date traité y est présente
A toi de me dire”
D une manière générale tous les premiers du mois fériés ou les lundis 2 ou 3 fériés ne sont pas traités
Il suffirait de les lister dans une colonne que l on viendrait dans la procédure interroger et de valider le jour où le lendemain en fonction de sa présence ou non
Mais l utilisateur n en a pas tenu compte

Bonjour,
Mille excuses, j’ai réagis un peu vite en même temps que ça me venait à l’idée.

Moi pour info, pour régler le soucis sans trop me prendre la tête, j’ai regardé le calendrier 2020 et dans la macro VB j’ai mis la variable “If Format(Date, “DD”) < 5”. ça fonctionnera pour tous les mois de l’année. Après on peut aussi mettre à 6,7,8 etc… mais dans ce cas, le popup continuera d’apparaitre tant que le jour du mois sera inférieur à 6,7,8 etc.

Ce choix effectivement est très judicieux et même s’il il ne permet pas de cibler de manière unique le seul jour approprié du mois avec le risque de 5 jours mis à contribution il permet de manière simple de répondre à la objectif attendu et ce en s affranchisant de la problématique des jours fériés quelque soit le année
Bonne solution donc

Et oui, il peut y avoir des RTT ou jours de maladie aussi ! Difficile de vraiment faire le tour de la question. Sauf peut-être de limiter les cas inopinés ou d’interrompre le rappel volontairement.