Sub test()
'test du 15 aout
Dim lejour
lejour = DateSerial(Year(Now), 5, 15)
goodDay lejour
End Sub
Sub test2()
lejour = Date
goodDay lejour
End Sub
Sub test3()
'test du 1er janvier
lejour = DateSerial(Year(Now), 1, 1)
goodDay lejour
End Sub
Sub test4()
'test du 14 juillet
lejour = DateSerial(Year(Now), 7, 14)
goodDay lejour
End Sub
Sub test5()
'test du dimanche 25 aout
lejour = DateSerial(Year(Now), 8, 25)
goodDay lejour
End Sub
Sub goodDay(lejour)
Dim d&, ouvré As Boolean
d = Day(lejour)
ouvré = Weekday(lejour) >= vbMonday And Weekday(lejour) <= vbFriday
Select Case Month(lejour)
Case 1
j = 1
Case 5
j = 15
Case 7
j = 14
Case 8
Case Else
ouvré = Weekday(lejour) >= vbMonday And Weekday(lejour) <= vbFriday
End Select
If Day(lejour) <> j And ouvré = True Then
MsgBox "c'est bon Nous sommes le " & Format(lejour, "dddd dd mm yyyy"), vbCritical
Else
MsgBox "c'est pas bon Nous sommes le " & Format(lejour, "dddd dd mm yyyy")
End If
End Sub