Re : problème d'appel de fonction excel
ahhh, pourtant la fonction date est présente dans excel. Je pensais que toutes les fonctions utilisés dans excel pouvaient s'appeler en utilisant l'instruction worksheetFunction.
Ce que j'essaie de faire simplement c'est de créer une fonction qui me permet de connaitre le premier jour ouvré du mois.
Je trouve que l'usage de worksheet.function est très instable et donne des résultats incompréhensibles, voir exemple ci-dessous, où lorsqye j'utilise un nom de variable l'appel à la fonction workday ne fonctionne pas, alors que lorsque je fais directement référence à la plage il n'y a pas de messages d'erreur retourné...WEIRD!!
Voici le code de test:
Sub test()
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
MsgBox (DateSerial(2014, 1, 1))
MsgBox (CDate(Application.WorksheetFunction.WorkDay(DateSerial(2014, 1, 1) - 1, 1))) 'cette instruction fonctionne
MsgBox (CDate(Application.WorksheetFunction.WorkDay(DateSerial(2014, 1, 1) - 1, 1, holidays))) 'cette instruction ne fonctionne pas
MsgBox (CDate(Application.WorksheetFunction.WorkDay(DateSerial(2014, 1, 1) - 1, 1, range("M4:M13"))) 'cette instruction fonctionne
End Sub
Merci pour votre aide,