[VB] Nombre de jours ouvrables d'un mois donne

Nombre de jours ouvrables d'un mois donne [VB] - Programmation

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..

Reply

Marsh Posté le 02-05-2001 à 14:29:19   

Reply

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.

Reply

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 :
  1. nb = 0
  2. On Error GoTo HandleError
  3.     For i = 1 To 32
  4.     If Weekday(i & "/" & mois & "/" & annee, vbMonday) <> 6 And Weekday(i & "/" & mois & "/" & annee, vbMonday) <> 7 Then
  5.         nb = nb + 1
  6.     End If
  7.     Next
  8. HandleError:
  9. jour_ouvrable = nb
 

[edit]--Message édité par trictrac--[/edit]

Reply

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).

Reply

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..

Reply

Marsh Posté le 03-05-2001 à 10:07:57    

Moi aussi j'utilise un table pour les jours fériés

Reply

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

Reply

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 :(


---------------
Kekman alias PauloLaFrite : rédacteur à ses temps perdus & bouffon de service sur M @ tbe .com :na:
Reply

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 :lol:


---------------
Kekman alias PauloLaFrite : rédacteur à ses temps perdus & bouffon de service sur M @ tbe .com :na:
Reply

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 :lol:




 
oui c'est clair, en basic c'est pas beau a voir  :hap:

Reply

Marsh Posté le 03-05-2001 à 12:09:28   

Reply

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+

Reply

Marsh Posté le 04-05-2001 à 09:53:29    

Je confirme, on dispose aussi d'une magnifique table faisant office de calendrier.

Reply

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 :lol:




 
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 !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

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 ?


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 04-05-2001 à 11:10:37    

J'en pense que les codeurs sont les alchimistes des temps modernes.

Reply

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::lol:


---------------
Kekman alias PauloLaFrite : rédacteur à ses temps perdus & bouffon de service sur M @ tbe .com :na:
Reply

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???

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed