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

  • Initiateur de la discussion Initiateur de la discussion AIXELS
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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
@+ 😉
 
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

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
246
Réponses
12
Affichages
501
Réponses
10
Affichages
857
Réponses
16
Affichages
953
Retour