message d'alerte en fonction de dates
bonjouyr à tous.
voila mon problême.
j ai un parc de véhicules qui doivent subir une révision chacun à une date X.
Je dois prendre les rendez vous 2 mois avant cette date et j aimerai un message d'alerte qui s'affiche à l ouverture de mon tableau si je suis 2 mois(60jours pour simplifier) avant la date d'un véicule.
supposons 3 véhicules
véhicule Date révision
A 01/01/2010
B 15/02/2010
c 25/03/2010
et une cellule à la date du jour avec =AUJOURDHUI()
Est il possible d'avoir un petit message du style véhicule A à réviser si on est 60jours avant le 01/01/2010 par exemple.
merci de vos lumières et de votre aide ou de pistes.
steph
Pourquoi ne pas tout dire immédiatement ?
on veut bien aider en fonction ses moyens mais faut pas pousser.
Je commence à comprendre les messages agressifs et directs de certains anciens.
Passons.
Alors, il faut changer :
- les "B" en "F"
- le décalage "c.Offset(0, -1)" par le nombre de colonne donc "c.Offset(0, -5)"
- "If Int(c.Value) = (Int(Now()) + AvertissemmentPrecedantEnJour)"
comme vous n'avez pas daigné répondre à mes précédantes interrogations, voici le code avec les nouvelles modifications à ma connaissance :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
Sub TestVoiture()
'Nom des véhicule dans la colonne "A" sauf entête en cellule A1
'Date de passage du CT au format date dans la colonne "F" sauf entête en "F1"
Dim Lst As String
Lst = ""
'Cherche dans toutes les cellules de F2 à la fin
For Each c In Range("F2:F" & Range("F1").End(xlDown).Row)
'La valeur doit être entière pour ne pas avoir l'influence des heures (la fraction du nombre)
If Int(c.Value) <= Int(Now()) + 60 And Int(c.Value) >= Int(Now()) + 55 Then
'Prend la valeur dans la colonne d'à coté dans la même ligne
Lst = Lst & c.Offset(0, -5).Value & Chr$(13)
End If
Next c
If Lst <> "" Then
MsgBox " Contrôle technique a prévoir pour le(s) véhicule(s) suivant(s) : " & Chr$(13) & Chr$(13) & Lst, vbInformation, "Contrôle technique à prévoir"
End If
End Sub |
ESVBA