Re : Application.WorksheetFunction.WorkDay !!!
Dans une procédure sub, je n'ai aucun soucis à appeler la workday. Par contre, l'appel à la fonction workday ne fonctionne pas quand elle est appelée par une fonction perso. J'essaie désespérement de régler le problème sans succès. Voici mon code, toute aide est la bienvenue.
'La fonction BoMonth fait appel à la fonction workday, elle permet d'obtenir le premier jour ouvré du mois.
Function BoMonth(monthNum, year)
Dim holidays As Variant
With Worksheets("param")
holidays = Array(.Range("M4").Value, .Range("M5").Value, .Range("M6").Value, .Range("M7").Value, .Range("M8").Value, .Range("M9").Value, .Range("M10").Value, .Range("M11").Value, .Range("M12").Value, .Range("M13").Value, .Range("M14").Value)
End With
Dim tempDateDbl As Double
Dim tempDate As Date
tempDate = CDate("1/" & monthNum & "/" & year)
tempDateDbl = CDbl((tempDate))
number = 1
BoMonth = Application.WorksheetFunction.workday(tempDate, 1, holidays)
If (isDayOff(tempDate)) Then
' tempDate = CDate(temp)
End If
BoMonth = tempDate
End Function
'quand j'appelle la fonctionne BoMonth dans la procédure sub, le code s'arrête car il n'arrive plus à appeler correctement la fonction worday
Sub test()
With Worksheets("param")
Dim holidays As Variant
holidays = Array(CDbl(.Range("M4").Value), CDbl(.Range("M5").Value), CDbl(.Range("M6").Value), CDbl(.Range("M7").Value), CDbl(.Range("M8").Value), CDbl(.Range("M9").Value), CDbl(.Range("M10").Value), CDbl(.Range("M11").Value), CDbl(.Range("M12").Value), CDbl(.Range("M13").Value), CDbl(.Range("M14").Value))
End With
dateDbl = CDbl(CDate("01/01/2014"))
number = 1
MsgBox (BoMonth(12, 2013))
End Sub