Alerte fin de mois

Bonjour le forum,

Alors voilà, existe t-il un moyen, VBA en autre, de faire apparaître une alerte le dernier jour d'un mois, à la sollicitation de fermeture du fichier.

Par exemple, le 31 janvier l'utilisateur ferme son fichier sans avoir enregistrer le journal mensuel, demain il sera trop tard. Alerte genre Msgbox " Avez vous pensez à enregistrer votre journal mensuel ? " Juste le dernier jour du mois et que le fichier est été enregistré ou pas.

Merci beaucoup de vos prochaines réponses

Salut,

essaye ça : colle le dans "ThisWorkbook" et sélectionne Workbook et BeforeClose

Private Sub Workbook_BeforeClose(Cancel As Boolean)

If Month(Date) <> Month(Date + 1) Then
    MsgBox "alerte"
End If
End Sub

A la fermeture du fichier, si tu es au dernier jour du mois, une alerte apparaitra.

Pour tester, change la date de l'horloge de ton ordinateur.

monthend
19monthchange.xlsm (11.50 Ko)

Bonjour Game Over

Merci de ta réponse qui correspond tout à fait à ce que je souhaitait, juste un problème, serait-il possible qu'il y est oui ou non, si non, il se passe rien l'utilisateur enregistre son journal mensuel et ferme le dossier cette fois en répondant oui à la question qui va revenir et oui à voulez vous enregistrer les modifs, si il répond oui, il ferme son dossier normalement.

J'ai essayé de modifier ton code avec Else ou autre mais je n'arrive pas à obtenir si réponse "non" qu'il ne se passe rien.

Merci à toi pour ton intervention dans ma demande

Bonjour,

Peut-être un truc comme ça?

Private Sub Workbook_BeforeClose(Cancel As Boolean)

If Month(Date) <> Month(Date + 1) Then

If MsgBox("ALERTE Ce classeur à été modifié et non enregistré" & vbLf & "Voulez-vous l'enregistrer ?", 292, "Information") = 6 Then

ThisWorkbook.Save

End If

End If

End Sub

Slts

Bonjour boss_68

Merci de ta réponse mais il ne s'agit pas de fermer le fichier en l'ayant enregistré ou pas.

L'utilisateur à la fin de chaque mois, doit enregistrer un journal mensuel des ventes, un journal annuel est alors rempli et le journal mensuel mis à zéro près pour le mois suivant. Et il faut que cet enregistrement est été fait avant le 1er du mois suivant, d'ou une alerte le dernier jour du mois, à la fermeture du fichier pour demander si cet enregistrement a été fait.

Le code de Game Over fonctionne bien mais il faudrait que le Msgbox possède oui/non, si l'utilisateur clic sur oui le code lance la procédure de fermeture normale (Voulez vous enregistrer les modifs oui/non/annuler), si il clic sur non on sort de la procédure de fermeture.

Merci de vos prochaines réponses.

Voilà le code tel qu'il est actuellement :

Private Sub Workbook_BeforeClose(Cancel As Boolean)

End Sub

Il fonctionne très bien mais quand l'utilisateur clic sur non le code renvoie à la fermeture du fichier d'ou une source d'erreur, ce seait bien que si on clic sur non on sorte de la procédure de fermeture du fichier,

Bonjour,

Une autre proposition.

Pas tout compris, je l'avoue !?

Cdlt.

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim dt As Date, Response As VbMsgBoxResult
    dt = WorksheetFunction.EoMonth(Date, 0)
    If dt = Date Then
        Response = MsgBox("Avez-vous pensé à enregistrer votre journal mensuel ?", 36, "Inforation")
        If Response = vbYes Then
            If Me.Saved = False Then Me.Save    ' dans le doute, on sécurise mais quoi ?
            Exit Sub
        End If
        Cancel = True
    End If
End Sub

Bonsoir Jean-Eric,

Merci pour ta réponse, toutefois ton code ne fonctionne pas.

Peut-être une explication.

C'est un fichier de facturation, tous les jours des factures que l'on enregistre dans un journal, à la fin de la journée on enregistre, en une seule lignes, le total de la journée, à la fin du mois ce journal mensuel comporte donc le nombre de lignes correspondant aux nombres de journées travaillées. Le total de ce journal mensuel (pour la compta) est reporté sur un journal annuel (pour la compta aussi) et le journal mensuel est mis à zéro pour le mois suivant. Le problème est que si l'utilisateur(trice) ne fait pas cet enregistrement sur le journal annuel, les totaux des journées du mois suivant vont se cumuler avec ceux du mois passé et pour la compta c'est pas le top (Déclaration de TVA entre autre). Donc le dernier jour du mois, à la fermeture, l'utilisateur ferme son fichier et PAF ! il a pas pensé à enregistre le Jal mensuel ! Donc le dernier jour du mois, à la fermeture, l'utilisateur ferme son fichier mais une alerte lui demande si il a enregistrer le journal mensuel et PAF ! non il a pas fait, il clic sur non et hop on sort de la procédure de fermeture sans autre avertissements, il enregistre le journal et ferme son fichier, l'alerte revient bien sur et là il clic sur oui et la procédure de fermeture du fichier continu (Voulez-vous enregistrer les modifications apportées à *** 1.05.2.xlsm oui/non/annuler et la il clic sur oui). Voilà, voilà

Merci pour vos implications dans ma demande

Re

Un autre essai

Private Sub Workbook_BeforeClose(Cancel As Boolean)

If Month(Date) <> Month(Date + 1) Then

If MsgBox("C'est la fin du mois !" & Chr(10) & "Avez-vous pensé à enregistrer le journal des ventes ?", _

vbQuestion + vbYesNo, "Demande de confirmation") = vbYes Then

Exit Sub '(Là on devrait sortir de la procédure si la réponse est "non" mais c'est pas le cas, je ne comprend pas pourquoi)

Application.EnableAutoComplete = True

Else

Cancel = True

End If

End If

End Sub

Slts

Hello tout le monde les gens

Trop fier je suis, je viens de modifier de code de Game_Over qui était :

Private Sub Workbook_BeforeClose(Cancel As Boolean)

End Sub

En :

Private Sub Workbook_BeforeClose(Cancel As Boolean)

End Sub

Et ça fonctionne ! ! Je suis trop content car avec vos aides très régulières, je progresse et je vous en remercie beaucoup.

Merci encore à tous

Oups boss_68 !

Je viens de voir ta réponse

et elle fonctionne aussi, donc si mon extraordinaire génie ne m'avait pas permis de trouver la solution, la tienne m'aurait tout à fait convenue.

En fait c'est toutes vos réponses mises bout à bout qui débouchent sur la solution.

Merci merci à vous tous

Rechercher des sujets similaires à "alerte fin mois"