dates

T

tinon

Guest
bonjour, savez vous comment faire pour calculer entre deux dates combien il y a de lundi, mardi, mercredi, jeudi, vendredi, samedi, dimanche et jours fériés, merci.
 
T

tinon

Guest
j'ai un script qui permet de calculer entre deux dates combien il y a de lundi, mardi, mercredi, jeudi, vendredi, samedi, dimanche mais il ne décompte pas les jours fériés, j'aimerais par exemple que si il y a 3 samedis entre ces deux dates et que l'un d'eux est férié qu'au lieu d'afficher 3 il n'affiche que 2, merci.

Function NbDe(DateDeb As Double, DateFin As Double, Jour As Byte) As Long
'le jour 1 de la semaine est le lundi
Dim i As Double, Deb#, Fin#

If DateDeb <= DateFin Then
Deb = DateDeb: Fin = DateFin
Else
Deb = DateFin: Fin = DateDeb
End If

For i = Int(Deb) To Int(Fin)
If Weekday(i, vbMonday) = Jour Then
NbDe = NbDe + 1
End If
Next i

End Function 'fs
 
P

Pascal76

Guest
Bonjour tinon

voici un petit code que j'utilise lorsque j'ai besoin de calculer des jours fériés.

LP indique le lundi de paques

j'espère que cela te rendra service



jour_ferie = False
A = Year(MaDate)
T = (((255 - 11 * (A Mod 19)) - 21) Mod 30) + 21
LP = DateSerial(A, 3, 2) + T + (T > 48) + 6 - ((A + A \ 4 + T + (T > 48) + 1) Mod 7)
Select Case MaDate
Case Is = LP, Is = LP + 38, Is = LP + 49, _
Is = DateSerial(MonAnnee, 1, 1), Is = DateSerial(MonAnnee, 5, 1), Is = DateSerial(MonAnnee, 5, 8), _
Is = DateSerial(MonAnnee, 7, 14), Is = DateSerial(MonAnnee, 8, 15), Is = DateSerial(MonAnnee, 11, 1), _
Is = DateSerial(MonAnnee, 11, 11), Is = DateSerial(MonAnnee, 12, 25)
jour_ferie = True
End Select


pascal
 

Discussions similaires

Réponses
5
Affichages
378
Réponses
8
Affichages
249