problème d'appel de fonction excel

  • Initiateur de la discussion Initiateur de la discussion Gucciz_
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Gucciz_

XLDnaute Nouveau
Hello à tous,

Je galère sur une petite instruction d'appel de fonction, je ne comprends pas pourquoi l'instruction suivante ne marche pas:

MsgBox (Application.WorksheetFunction.Date(2014, 2, 1))

Le message d'erreur envoyé est "erreur d'éxecution '438', propriété ou méthode non gérée par cet objet".

Merci pour votre aide précieuse,

Gucciz_
 
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,
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour