Function Jours_ouvrés(DateDeb As Variant, DateFin As Variant) As Long
Dim Début As Date, Fin As Date
Jours_ouvrés = 0
On Error GoTo Err_Jours_ouvrés
Début = CDate(DateDeb)
Fin = CDate(DateFin)
If Weekday(Début) = 1 Then
Début = Début + 1
ElseIf Weekday(Début) = 7 Then
Début = Début + 2
Else
Jours_ouvrés = Jours_ouvrés + 7 - Weekday(Début)
Début = Début + 9 - Weekday(Début)
End If
If Weekday(Fin) = 1 Then
Fin = Fin + 1
ElseIf Weekday(Fin) = 7 Then
Fin = Fin + 2
Else
Jours_ouvrés = Jours_ouvrés - 7 + Weekday(Fin)
Fin = Fin + 9 - Weekday(Fin)
End If
Jours_ouvrés = Jours_ouvrés + DateDiff("ww", Début, Fin) * 5
Exit Function
Err_Jours_ouvrés:
Jours_ouvrés = 0
End Function