Nombre de jours ouvrables d'un mois donne [VB] - Programmation
Marsh Posté le 02-05-2001 à 14:37:01
Ca m'interesse aussi et je serais intéressé par un module prenant en compte les jours fériés musulmans et juifs egalement.
Marsh Posté le 02-05-2001 à 14:59:15
voila ce que ca donne sans les jour feries... mais c'est pas le top pour une appli pro
Code :
|
[edit]--Message édité par trictrac--[/edit]
Marsh Posté le 03-05-2001 à 09:36:28
Désolé de décevoir tous vos espoirs, mais les logiciels comptables que je connais (dans l'administration) utilisent une table pour gérer les jours fériés (en plus des samedis et des dimanches).
Marsh Posté le 03-05-2001 à 10:03:56
j'y avait pense, ra jouter, en lpus du cas jour =6 and jour =7, nu cas particulier verifiant que chaque jour n'est pas dans la table des jours feries officiels... mais comment font les log comptables pour etre juste, sachant que ces jours peuvent changer.. come par ex le 6 avr au lux a cause du couronnement du grand duc, ou bien les ponts, qui changent tout a la donne..
Marsh Posté le 03-05-2001 à 11:15:57
Bonjour,
Voici une fonction qui retourne le jour de pâques d'une année.
Les jours fériés non-fixes sont calculés à partir du jour de pâques.
Paques = fPaques(An%) 'Cherche le jour de Pâques
LunPaq = Paques + 1 'En déduit
Ascension = Paques + 39 'les autres
LunPent = Paques + 50 'jours fériés
Public Function fPaques(An%) As Date
'Calcule le jour de Pâques en fonction
'de l'année
Dim a As Integer
Dim b As Integer
Dim c As Integer
Dim d As Integer
Dim e As Integer
Dim f As Integer
Dim g As Integer
Dim h As Integer
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim l As Integer
Dim m As Integer
Dim n As Integer
Dim p As Integer
a% = An% Mod 19
b% = An% \ 100
c% = An% Mod 100
d% = b% \ 4
e% = b% Mod 4
f% = (b% + 8) \ 25
g% = (b% - f% + 1) \ 3
h% = (19 * a% + b% - d% - g% + 15) Mod 30
i% = c% \ 4
k% = c% Mod 4
l% = (32 + 2 * e% + 2 * i% - h% - k%) Mod 7
m% = (a% + 11 * h% + 22 * l%) \ 451
n% = (h% + l% - 7 * m% + 114) \ 31
p% = (h% + l% - 7 * m% + 114) Mod 31
fPaques = DateSerial(An%, n%, p% + 1)
End Function
Marsh Posté le 03-05-2001 à 11:16:03
De toute façon, tu n'auras pas le choix mon ptit TricTrac j'ai déjà essayé en faisant un algorithme bidon mais ça ne marche pas du tout
Marsh Posté le 03-05-2001 à 11:17:17
exapaq a écrit a écrit : Bonjour, Voici une fonction qui retourne le jour de pâques d'une année. |
Trop fort ton algorithme lol j'en avais jamais vu un aussi bizarre que celui là mais bon il doit bien marcher
Marsh Posté le 03-05-2001 à 12:09:28
Kekman a écrit a écrit : Trop fort ton algorithme lol j'en avais jamais vu un aussi bizarre que celui là mais bon il doit bien marcher |
oui c'est clair, en basic c'est pas beau a voir
Marsh Posté le 04-05-2001 à 09:49:30
Pour répondre à trictrac :
Pour les logiciels pro, une table des jours fériés est saisie chaque année (à la main). Je ne pense pas qu'il y a de solution miracle.
Pour le calcul du jour de Pâques :
La date a été fixée au concile de Nicée (en 525 je crois) et la formule mathématique a été trouvée pa Pascal beaucoup plus tard.
A+
Marsh Posté le 04-05-2001 à 09:53:29
Je confirme, on dispose aussi d'une magnifique table faisant office de calendrier.
Marsh Posté le 04-05-2001 à 10:37:24
Kekman a écrit a écrit : Trop fort ton algorithme lol j'en avais jamais vu un aussi bizarre que celui là mais bon il doit bien marcher |
La définition du jour de pâques est :
1er dimanche après la pleine lune qui suit l'équinoxe de printemps, soit entre le 22 mars et le 25 avril.
C'est sans aucun doute l'origine du calcul bizarre !
Perso, je sais pas comment on fait pour trouver les jours de pleine lune, mais je vais chercher !
Si tu trouve le moyen de simplifier, ne te prive pas !
Marsh Posté le 04-05-2001 à 11:02:30
Pour les curieux, j'ai trouvé çà :
http://www.pourlascience.com/paques/paques.htm
On y lit que la lune utilisée pour caluler pâques est plus ou moins fictive ;-)
Il me semble en effet que trouver les jours de pleine lune par un simple calcul ne peut être qu'une aproximation !
Qu'en pensez-vous ?
Marsh Posté le 04-05-2001 à 11:10:37
J'en pense que les codeurs sont les alchimistes des temps modernes.
Marsh Posté le 04-05-2001 à 14:42:55
Fred999 a écrit a écrit : J'en pense que les codeurs sont les alchimistes des temps modernes. |
Comme c poétique :lol:
Marsh Posté le 04-05-2001 à 14:49:40
Tu connais beaucoup d'autres métiers où il faut parfois éteindre puis rallumer sa machine pour que ça marche???
Marsh Posté le 02-05-2001 à 14:29:19
J continue de cherche, mais si qqun connait, ce serait top...
Et si possible tenant compte des jours de conges, parce que sinon, j'ai autant faire la mienne..