Comment creer une alerte date a l'ouverture d'Excel

Bonjour,

Après avoir consulté les sujets concernant mon problème, je n'ai pas réussit à trouver de solution (mon manque d’expérience en VBA y est surement pour beaucoup).

J'aimerai créer une alerte de type message box pour les dates arrivant à échéances/Expiration. Cette alerte devra se déclencher à l'ouverture du document excel.

Il existe plusieurs types d'échéances qui sont déjà caractérisées par une mise en forme conditionnelle:

1) en rouge dates d'aujourd'hui inférieur à la date d'expiration + 7 jours.

2) en Vert les dates comprises entre (date d'expiration+45 jour).

3) en orange les dates comprises entre (date d'expiration+15 jour).

Pourriez vous m'aider à trouver une solution pour l'affichage d'un message texte.

Dans le cas 1) le message texte affichera : "Alerte veuillez en urgence renouveller l'expiration n° (affichage du numéro de l'expiration concerné)".

Dans le cas numéro 2) le message texte affichera: "veuillez préparer le renouvellement de l'expiration n°(affichage du numéro l'expiration concerné) arrive à échéance. Veillez prévoir la vérification"

Dans le cas numéro 3) le message texte affichera: "veuillez préparer le renouvellement de l'expiration n°(affichage du numéro l'expiration concerné) arrive à échéance. Veillez traiter la requete avec diligeance"

Je vous serai très reconnaissante si vous aviez une solution à me proposer.

Merci beaucoup d'avance.

NB: Ci joint le fichier correspondant. Les dates à prendre en compte se situe dans la colonne JKLMN. vous verrez mon code VBA avec Beaucoup d'erreurs certainement merci de les corriger et de me donner les explications en commentaire dans le code svp.

106trackers-test1.xlsm (19.88 Ko)

Bonjour Agerom, bonjour le forum,

Tu utilises la même variable pour parcourir les cellules d'une plage et la plage elle même. Il faut une variable pour la cellule et une autre pour la plage. Un exemple du premier cas de ton fichier (non testé) :

Private Sub Workbook_Open()
Dim CEL As Range 'ici la variable d'une seule cellule
Dim MSG As String 'variable du texte du message
Dim CNESVS As Range
Dim Advara As Range
Dim CDC_Atlanta As Range
Dim GW As Range
Dim Others As Range

For Each CEL In ActiveSheet.Range("CNESVS") 'boucle sur toutes les cellules CEL de la plage CNESVS
valeur = Cells(CEL.Row, 1).Value
    If CEL.Value = Date + 45 Then
        MSG = IIf(MSG = "", "Alerte_Protocol_CNESVS - Le Protocol" & valeur & "doit-être renouvelé.", MSG & vbCrLf & MSG) 's'il y a plusieurs alertes
        MsgBox MSG
    End If
    If CEL.Value = Date + 15 Then
        MSG = IIf(MSG = "", "Alerte_Protocol_CNESVS - Le Protocol" & valeur & "doit-être renouvelé.", MSG & vbCrLf & MSG) 's'il y a plusieurs alertes
        MsgBox MSG, vbInformation
    End If
Next

merci je test voir

sa ne passe pas. il met ce msg à l'ouverture.

capture

Re,

Pourrais-tu renvoyer le fichier avec ton code s'il te plaît...

actuellement je ne pourrai pas car le fichier trouve sur mon laptop mais le fichier joint au post aussi me donne la même erreur donc si tu peux télécharger le fichier joint au post on gagnera en temps actuellement je suis sur mon mobile.

merci

Rechercher des sujets similaires à "comment creer alerte date ouverture"