XL 2010 Mise en place d'une Alerte VBA en fonction du résultat d'une Condition

Patrick THEVENOT

XLDnaute Nouveau
Bonjour.
Je souhaiterai avoir un premier message d'alerte lorsque la Condition est à "1" et un second message d'alerte lorsque la Condition est à "0". La condition est à partir de la feuille "Synthese". J'aimerai avoir dans le message, le "Véhicule" qui atteint la Condition.
J'ai essayé ceci qui me génère une erreur :
Private Sub Workbook_Open()
'Programmer Rendez-Vous pour la Révision du Véhicule
Dim Alerte As Range
For Each Alerte In ActiveSheet.Range("Alertes")
Valeur = Cells(Alerte.Row, 1)
If Alerte = "0" Then
MsgBox "Attention, Un Rendez-Vous Pour L’Entretien du " & Valeur & " doit être pris au plus tôt", vbCritical, "Délai de 15 Jours"
Else
End If
If Alerte = "1" Then
MsgBox " Bientôt, Un Rendez-Vous Pour L’Entretien du " & Valeur & " devra être pris.", vbExclamation, "Délai de 30 Jours"
Else
End If
Next
End Sub
 

Pièces jointes

  • Suiviessai.xlsx
    38.1 KB · Affichages: 10

Phil69970

XLDnaute Barbatruc
Bonjour @Patrick THEVENOT, Hervé, le forum

Je te propose ceci :
VB:
Private Sub Workbook_Open()
Application.ScreenUpdating = False
Dim Derlig As Long '&
Derlig = Worksheets("Synthèse").Range("C" & Rows.Count).End(xlUp).Row

With Worksheets("Synthèse")
    For i = 2 To Derlig
        'Verif alerte révision
        If .Range("D" & i) = 1 Then MsgBox " Bientôt, Un Rendez-Vous pour l'entretien du " & _
            .Range("A" & i) & " devra être pris.", vbExclamation, "Délai de 30 Jours"
        If .Range("D" & i) = 0 Then MsgBox "Attention, Un Rendez-Vous pour l'entretien du " & _
            .Range("A" & i) & " doit être pris au plus tôt", vbCritical, "Délai de 15 Jours"
        'Verif alerte contrôle technique
        If .Range("E" & i) = 1 Then MsgBox " Bientôt, Un Rendez-Vous pour le contrôle technique du " & _
            .Range("A" & i) & " devra être pris.", vbExclamation, "Délai de 30 Jours"
        If .Range("E" & i) = 0 Then MsgBox "Attention, Un Rendez-Vous pour le contrôle technique du " & _
            .Range("A" & i) & " doit être pris au plus tôt", vbCritical, "Délai de 15 Jours"
    Next
End With
End Sub

Et tu as en plus aussi une alerte sur le contrôle technique. ;)
Par contre je te suggère de regrouper dans un onglet paramètre....
J'ai juste crée l'onglet avec les valeurs dedans je te laisse modifier les validations des données.
1619078995581.png


@Phil69970
 

Pièces jointes

  • Suiviessai V1.xlsm
    60.1 KB · Affichages: 17
Dernière édition:

Patrick THEVENOT

XLDnaute Nouveau
Merci grandement car la réponse correspond tout à fait à ma demande. Il me faut m'appuyer sur le travail effectué pour reproduire une alerte sur le Contrôle Technique. Je n'ai aucune connaissance en VBA. Je m'étais appuyé sur un exemple trouvé sur le net. Cordialement.
 

Patrick THEVENOT

XLDnaute Nouveau
Bonjour @Patrick THEVENOT, Hervé, le forum

Je te propose ceci :
VB:
Private Sub Workbook_Open()
Application.ScreenUpdating = False
Dim Derlig As Long '&
Derlig = Worksheets("Synthèse").Range("C" & Rows.Count).End(xlUp).Row

With Worksheets("Synthèse")
    For i = 2 To Derlig
        'Verif alerte révision
        If .Range("D" & i) = 1 Then MsgBox " Bientôt, Un Rendez-Vous pour l'entretien du " & _
            .Range("A" & i) & " devra être pris.", vbExclamation, "Délai de 30 Jours"
        If .Range("D" & i) = 0 Then MsgBox "Attention, Un Rendez-Vous pour l'entretien du " & _
            .Range("A" & i) & " doit être pris au plus tôt", vbCritical, "Délai de 15 Jours"
        'Verif alerte contrôle technique
        If .Range("E" & i) = 1 Then MsgBox " Bientôt, Un Rendez-Vous pour le contrôle technique du " & _
            .Range("A" & i) & " devra être pris.", vbExclamation, "Délai de 30 Jours"
        If .Range("E" & i) = 0 Then MsgBox "Attention, Un Rendez-Vous pour le contrôle technique du " & _
            .Range("A" & i) & " doit être pris au plus tôt", vbCritical, "Délai de 15 Jours"
    Next
End With
End Sub

Et tu as en plus aussi une alerte sur le contrôle technique. ;)
Par contre je te suggère de regrouper dans un onglet paramètre....
J'ai juste crée l'onglet avec les valeurs dedans je te laisse modifier les validations des données.
Regarde la pièce jointe 1103063

@Phil69970
Bonjour.
Tout simplement Génial. Cela correspond tout à fait à mon attente et de plus les alertes sur le Contrôle technique sont en place. Merci de votre participation active car je suis bénévole à la Croix-Rouge Française sur l'antenne de Poissy et j'ai en charge la gestion de leurs véhicules.
Cordialement.
 

Discussions similaires

Réponses
7
Affichages
311

Statistiques des forums

Discussions
312 047
Messages
2 084 864
Membres
102 689
dernier inscrit
moshe yaacov abnaim