XL 2019 Lancer un userform d'alerte au démarrage

AIXELS

XLDnaute Occasionnel
Bonjour à tous les amis du Forum. :)
Je reviens vers vous une fois de plus pour vous demander votre aide.
Mon problème est le suivant :
Chaque mois je change manuellement la cellule C2 pour mettre à jour
le format conditionnel et la mise à jour du calendrier.
J'aurais souhaité qu'à chaque démarrage du fichier une vérification de
date se fasse entre la cellule C2 rentrée manuellement e la cellule M2
formule = Ajourdhui()
Si le mois de la cellule en M2 est supérieure à celui de la cellule C2
affichage du Userform "UsfDateHeure" pour alerter qu'il faut changer
le mois de la cellule C2. Je ne sais pas faire, je le change manuellement.
Si le mois est valide, ne pas afficher d'alerte.
Merci pour votre aide.
Bien cordialement.
 

Pièces jointes

  • TEST ALARME DÉBUT MOIS.xlsm
    278.1 KB · Affichages: 15

patricktoulon

XLDnaute Barbatruc
Bonjour
le code de ton userform revu et allégé
les point d’interrogation en commentaire indique mon questionnement quand a son utilité
VB:
Private Sub UserForm_Initialize()
     UsfDateHeure.Label1.Caption = Application.Proper(Format(Date, "dddd dd mmmm yyyy")) & _
        Chr(10) & " il est : " & Format(Now, "hh:mm")
    Label2 = UCase(MonthName((Month(Date))))   'Mois en cours
    Label3.Visible = True'????????
  End Sub
 
  Private Sub UserForm_Activate()
       'Affichage temporaire de la date et heure
    Application.Wait Now + TimeValue("00:00:06") '6 secondes
    Unload UsfDateHeure
End Sub

le code du workbook_open
j'ai ajouté le Contrôle de validité des date de m2 ou c2
VB:
Private Sub Workbook_Open()
   If IsDate(Feuil1.[m2]) And IsDate(Feuil1.[c2]) Then
        If Month(CDate(Range("M2").Value)) > Month(CDate(Range("C2").Value)) Then UsfDateHeure.Show
    Else:
        MsgBox "dans l'une ou les deux cellule ce n'est pas une date valide )"
    End If
End Sub
@+ ;)
 

Phil69970

XLDnaute Barbatruc
Bonjour @AIXELS , @patricktoulon

Si j'ai bien compris pourquoi déployé tout ça alors que cette formule en C2 suffit à avoir le mois en cours et qui change chaque mois sans aucune intervention manuelle et sans USF :

Code:
'Mois en cours ==> en C2
=DATE(ANNEE(M2);MOIS(M2);1)

Ou si tu veux le mois suivant

Code:
'Mois suivant ==> en C2
=DATE(ANNEE(M2);MOIS(M2)+1;1)

*J'ai désactivé USF dans le fichier

@Phil69970
 

Pièces jointes

  • TEST ALARME DÉBUT MOIS V1.xlsm
    273.9 KB · Affichages: 12

Discussions similaires

Réponses
14
Affichages
723

Statistiques des forums

Discussions
312 194
Messages
2 086 070
Membres
103 110
dernier inscrit
Privé