> =AlerteDate(C37,Today)
is an unusual way of doing a validation check. (It's not wrong, it's just
unusual.)
Using it this way, it needs to be a function. You can't call a sub directly
from a cell.
A minor problem is that you are completely dependent on Excel for when it
will recalculate the cell, and therefore call the function. As long as
recalculate is set to automatic, it will certainly recalculate the cell
every time you change it. However, it is quite possible that it'll call it
at other times - e.g. when you open the file. This might or might not be a
problem.
I don't know off-hand what type "style" will be. If you look at the help
for MsgBox, it should tell you what the types of the various parameters are.