j'ai un formulaire qui doit calculer automatiquement le nombre d'heures par
rapport à un nombre de jours ouvrés entre 2 dates, or je n'arrive pas à
faire fonctionner la fonction workday.
Je vous mets ci-dessous ma ligne de commande :
hprol.Value = WORKDAY(prolfin, proldeb, 0) * 7.8
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Benoit Compoint
Bonjour,
Pour calculer le nombre de jours ouvrés entre deux dates, il ne faut pas utiliser la fonction Workday mais la fonction NetWorkDays. Par exemple, si vous omettez de préciser les jours fériés, vous pouvez définir la fonction NbJoursOuvres comme ci-dessous.
Function NbJoursOuvres(start_date As Double, end_date As Double) Dim f As MSOWCFLib.OCATP Set f = New MSOWCFLib.OCATP NbJoursOuvres = f.NETWORKDAYS(start_date, end_date) Set f = Nothing End Function
Par exemple la procédure Test suivante affiche la valeur 4, parce qu'il y a 4 jours ouvrés du 7 novembre 2003 au 12 novembre 2003, si l'on ne considère pas que le 11 novembre est férié.
Sub Test() MsgBox NbJoursOuvres(DateSerial(2003, 11, 7), DateSerial(2003, 11, 12)) End Sub
Benoît Compoint.
"FreeManSky" wrote in message news:bod31r$4qe$
bonjour à tous,
j'ai un formulaire qui doit calculer automatiquement le nombre d'heures par
rapport à un nombre de jours ouvrés entre 2 dates, or je n'arrive pas à faire fonctionner la fonction workday.
Je vous mets ci-dessous ma ligne de commande : hprol.Value = WORKDAY(prolfin, proldeb, 0) * 7.8
Merci de vos lumières
Franck
Bonjour,
Pour calculer le nombre de jours ouvrés entre deux dates, il ne faut pas
utiliser la fonction Workday mais la fonction NetWorkDays.
Par exemple, si vous omettez de préciser les jours fériés, vous pouvez
définir la fonction NbJoursOuvres comme ci-dessous.
Function NbJoursOuvres(start_date As Double, end_date As Double)
Dim f As MSOWCFLib.OCATP
Set f = New MSOWCFLib.OCATP
NbJoursOuvres = f.NETWORKDAYS(start_date, end_date)
Set f = Nothing
End Function
Par exemple la procédure Test suivante affiche la valeur 4, parce qu'il y a
4 jours ouvrés du 7 novembre 2003 au 12 novembre 2003, si l'on ne considère
pas que le 11 novembre est férié.
Sub Test()
MsgBox NbJoursOuvres(DateSerial(2003, 11, 7), DateSerial(2003, 11, 12))
End Sub
Benoît Compoint.
"FreeManSky" <franck.schricke@vkf.fr> wrote in message
news:bod31r$4qe$1@news-reader2.wanadoo.fr...
bonjour à tous,
j'ai un formulaire qui doit calculer automatiquement le nombre d'heures
par
rapport à un nombre de jours ouvrés entre 2 dates, or je n'arrive pas à
faire fonctionner la fonction workday.
Je vous mets ci-dessous ma ligne de commande :
hprol.Value = WORKDAY(prolfin, proldeb, 0) * 7.8
Pour calculer le nombre de jours ouvrés entre deux dates, il ne faut pas utiliser la fonction Workday mais la fonction NetWorkDays. Par exemple, si vous omettez de préciser les jours fériés, vous pouvez définir la fonction NbJoursOuvres comme ci-dessous.
Function NbJoursOuvres(start_date As Double, end_date As Double) Dim f As MSOWCFLib.OCATP Set f = New MSOWCFLib.OCATP NbJoursOuvres = f.NETWORKDAYS(start_date, end_date) Set f = Nothing End Function
Par exemple la procédure Test suivante affiche la valeur 4, parce qu'il y a 4 jours ouvrés du 7 novembre 2003 au 12 novembre 2003, si l'on ne considère pas que le 11 novembre est férié.
Sub Test() MsgBox NbJoursOuvres(DateSerial(2003, 11, 7), DateSerial(2003, 11, 12)) End Sub
Benoît Compoint.
"FreeManSky" wrote in message news:bod31r$4qe$
bonjour à tous,
j'ai un formulaire qui doit calculer automatiquement le nombre d'heures par
rapport à un nombre de jours ouvrés entre 2 dates, or je n'arrive pas à faire fonctionner la fonction workday.
Je vous mets ci-dessous ma ligne de commande : hprol.Value = WORKDAY(prolfin, proldeb, 0) * 7.8