Bonjour ,
Est ce qu'il y a une fonction L4G qui permet de calculer le nombre de jours ouvrés mais en tenant compte des jours fériés et les week-ends.
Merci d'avance.
Bonjour ,
Est ce qu'il y a une fonction L4G qui permet de calculer le nombre de jours ouvrés mais en tenant compte des jours fériés et les week-ends.
Merci d'avance.
c'est la version 11
Bonjour,
Vous pouvez essayer cette fonction (faite pour la V6, mais elle doit fonctionner en V11) :
#** #* Fonction qui calcule le délai entre 2 dates en jours ouvrés #* Jours semaine = tableau de dimension 7 (1=Non ou 2=Oui) #* #* @param ZDATE1 : Date début #* @param ZDATE2 : Date fin #* @param ZJRSEM : Jours semaine (tab dim 7) #* @param ZINDISP : Code indisponibilité (facultatif) #*! Funprog CALCUL_DELAI_INDISP(ZDATE1,ZDATE2,ZJRSEM,ZINDISP) Value Date ZDATE1,ZDATE2 Value Shortint ZJRSEM() Value Char ZINDISP Local Date ZDATE Local Shortint I,ZOK Local Integer ZRETOUR ZDATE = ZDATE1 If ZINDISP<>"" Local File TABUNAVAIL [F:TUV] Read [F:TUV]UVY0=ZINDISP If fstat : ZINDISP="" : Endif Endif While ZDATE<ZDATE2 # Contrôle si jour d'indisponibilité (férié) ZOK = 2 If ZINDISP<>"" For I=0 To 24 If ZDATE>=[F:TUV]UVYSTRDAT(I) and ZDATE<=[F:TUV]UVYENDDAT(I) ZOK = 1 Break Endif Next Endif If ZOK=2 and ZJRSEM(dayn(ZDATE)-1)=2 ZRETOUR += 1 Endif ZDATE += 1 Wend If ZINDISP<>"" Close Local File [F:TUV] Endif End ZRETOUR
Les jours ouvrées sont indiques dans le paramètre 3 via un tableau de 7 dimensions (2,2,2,2,2,1,1) pour indiquer que les jours ouvrés c'est du lundi au vendredi.
Dans le paramètre 4 indiquer le code de période d'indisponibilité qui contient la liste des jours fériés
Cdlt,
Piotr
Merci Beaucoup Piotr pour votre réponse ,
Je n'arrive pas à tester l'appel de ce funprog , je ne sais pas comment passer le tableau à 7 dimensions.
Exemple de mon test :
func CALCUL_DELAI_INDISP([07/04/2020],[08/04/2020],'(2,2,2,2,2,1,1)','AAA')
Pourriez vous m'aider à utiliser la bonne syntaxe?
Merci d'avance
Mohamed,
Il faut déclarer la variable tableau
Local Date ZD1,ZD2
Local Shortint ZJO(7)
ZJO(0)=2:ZJO(1)=2:ZJO(2)=2:ZJO(3)=2:ZJO(4)=2:ZJO(5)=1:ZJO(6)=1
ZD1=[07/04/2020]
ZD2=[08/04/2020]
Infbox num$(func CALCUL_DELAI_INDISP(ZD1,ZD2,ZJO,"FERIE"))
End
Merci beaucoup Piotr , ça marche
Merci :)
*Community Hub is the new name for Sage City