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

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

AIXELS

XLDnaute Occasionnel
Supporter XLD
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
4
Affichages
469
Réponses
10
Affichages
691
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…