MsgBox d'alerte 2 mois avant une date dans une cellule

Bonsoir à tous, alors mon expérience en MsgBox débute, j'ai 3 dates ( ce sont des dates de contrôle technique, peu importe ) et j'aimerais que 2 mois avant qu'une de ces 3 dates arrivent, j'eusse une Msgbox d'alerte qui s"affiche ( à l'ouverture du fichier ) " Attention mines de tel immatriculation arrive à son terme dans X jours "

Je sais que les MFC sont plus simples mais ce n'est pas ma recherche, merci à vous et de votre aide.

Voir le fichier test joint !

64test-date.xlsm (8.49 Ko)

Bonjour,

Un test à placer dans le code du classeur ThisWorkbook :

Private Sub Workbook_Open()
Dim LC%, C%, IMAT$
With Worksheets("ENTRETIEN TR")
    LC = .Cells(10, .Columns.Count).End(xlToLeft).Column
    For C = 3 To LC Step 4
        If .Cells(10, C) < DateAdd("m", 2, Date) Then IMAT = IMAT & Chr(10) & .Cells(9, C) & " : " & .Cells(10, C)
    Next C
End With
If IMAT <> "" Then MsgBox IMAT, vbCritical
End Sub

Cdlt,

Je viens de tester et ça fonctionne, merci beaucoup, j'aimerais juste développer la MsgBox :

attention le contrôle technique du véhicule ( immat ) arrive à son terme, voici la date de péremption ( date )

Merci encore de l'aide !

Bonjour,

Dans ce cas :

Sub WB()
Dim LC%, C%, IMAT$
With Worksheets("ENTRETIEN TR")
    LC = .Cells(10, .Columns.Count).End(xlToLeft).Column
    For C = 3 To LC Step 4
        If .Cells(10, C) < DateAdd("m", 2, Date) Then IMAT = IMAT & Chr(10) & "Attention, le contrôle technique " & .Cells(9, C) & _
        " arrive à son terme, voici la date de péremption " & .Cells(10, C)
    Next C
End With
If IMAT <> "" Then MsgBox IMAT, vbCritical, "ECHEANCES DE CONTROLE TECHNIQUE"
End Sub

Par contre si vous avez beaucoup d'IMAT arrivant à échéance ça peut surcharger le MsgBox si les phrases sont trop longues, dans ce cas je vois deux solutions :
- Raccourci le texte comme précemment
- Adapter le code à un label dans un USF

Cdlt,

Ergotamine , merci énormément pour cet aide précieuse, je passe le sujet en résolu !!!

Merci ! Merci ! merci !

J'ai une question car en essayant je m'aperçois d'une chose :

Quand la date est dépassée, le problème est qu'il me note toujours que la date des mines arrive à échéance des 2 mois !

Ne pourrait t'on pas avoir les 2 solutions ??

1 MsgBox comme c'est fait la et ça me va super bien

et 1 MsgBox avec comme message "la date est dépassée, veuillez vous rendre au centre de contrôle le plus proche"

J'en demande beaucoup peut être mais ce serait la perfection pour moi !

Bonne soirée en attendant Ergotamine !

Bonjour,

Essayez ce code et dites moi. J'ai tout regroupé dans un même msgbox, si vous en souhaitez 2 c'est possible de les faire afficher d'affilé. Tjs a placer dans le module ThisWorkbook :

Private Sub Workbook_Open()
Dim LC%, C%, IMAT_A$, IMAT_D$
With Worksheets("ENTRETIEN TR")
    LC = .Cells(10, .Columns.Count).End(xlToLeft).Column
    For C = 3 To LC Step 4
        Select Case .Cells(10, C)
            Case Is < Date
                IMAT_D = IMAT_D & Chr(10) & "Attention, le contrôle technique " & .Cells(9, C) & " est dépassé, merci de vous rendre dans votre centre agréé"
            Case Is < DateAdd("m", 2, Date)
                IMAT_A = IMAT_A & Chr(10) & "Attention, le contrôle technique " & .Cells(9, C) & " arrive à son terme, voici la date de péremption " & .Cells(10, C)
        End Select
    Next C
End With
If IMAT_D <> "" Or IMAT_A <> "" Then MsgBox "ECHEANCE DEPASSEE" & Chr(10) & IMAT_D & Chr(10) & Chr(10) & _
"ECHEANCE SOUS DEUX MOIS" & Chr(10) & IMAT_A, vbCritical, "RAPPELS CONTROLES TECHNIQUES"
End Sub

Cdlt,

On ne touche plus à rien c'est parfait dans un même MsgBox !

Alors la je ne vous remercierais jamais assez !!!

Merci énormément de cette aide, ne me reste qu'à comprendre le code pour mon expérience !

j'ai en même temps passer le sujet en résolu !

Rechercher des sujets similaires à "msgbox alerte mois date"