Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Philippe.R
Le #5341841
Bonjour,
Pour savoir où tu arrives en postant ce message, suis ce lien (ce message,
pourtant posté par la même interface que celle que tu utilises, ne semble
pas très visible pour les utilisateurs de cette interface) :
http://groups.google.fr/group/microsoft.public.fr.excel/browse_thread/thread/ff916ab21ac24707/9746e5d099d38333?lnk=st&q=group%3Amicrosoft.public.fr.excel+author%3AJo%C3%ABl+author%3AChaudy+author%3A%5BMS%5D#9746e5d099d38333

Pour savoir comment accéder confortablement au forum, suis celui là :
http://www.excelabo.net/mpfe/connexion.php

Pour ce qui est de la réponse à ta question, la date de Pâques, mobile pose
seule un petit problème, soluble avec cette formule :

=PLANCHER(JOUR(MINUTE(annee/38)/2+56)&"/5/"&annee;7)-34

pour l'Ascension et Pentecôte, une fois connue la date de Pâques, il ne
reste qu'à ajouter respectivement 39 et 49 et puis à gérer les cas
particuliers du Vendredi Saint, selon les régions et du lundi de pentecôte,
selon les périodes, les tendances politiques et les décisions locales
(entreprise, ...)
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"LePetit+" news:
quelqu'un a t-il une astuce pour le calcul des jours fériés?


Jacques93
Le #5341831
Bonjour LePetit+,
quelqu'un a t-il une astuce pour le calcul des jours fériés?


Si tu parles des fêtes mobiles, pas d'astuces, mais un calcul basé sur
la lune pascale, qui n'est pas liée au cycle lunaire réel :

dans un UserForm :

Option Explicit

Private Sub cmdPaques_Click()
Dim y As Integer ' Annee
Dim golden As Integer ' Nombre d'or
Dim solar As Integer ' Correction solaire
Dim lunar As Integer ' Correction lunaire
Dim pfm As Integer ' Pleine lune de paques
Dim dom As Integer ' Nombre dominical
Dim easter As Integer ' jour de paques
Dim dtEaster As Date
Dim tmp As Integer

Dim Temp As String

y = Val(Me.txtYear.Text)

' Nombre d'or
golden = (y Mod 19) + 1
If y <= 1752 Then ' Calendrier Julien
' Nombre dominical
dom = (y + (y 4) + 5) Mod 7
If dom < 0 Then dom = dom + 7
' Date non corrigee de la pleine lune de paques
pfm = (3 - (11 * golden) - 7) Mod 30
If pfm < 0 Then pfm = pfm + 30
Else ' Calendrier Gregorien
' Nombre dominical
dom = (y + (y 4) - (y 100) + (y 400)) Mod 7
If dom < 0 Then dom = dom + 7
' Correction solaire et lunaire
solar = (y - 1600) 100 - (y - 1600) 400
lunar = (((y - 1400) 100) * 8) 25
' Date non corrigee de la pleine lune de paques
pfm = (3 - (11 * golden) + solar - lunar) Mod 30
If pfm < 0 Then pfm = pfm + 30
End If
' Date corrige de la pleine lune de paques :
' jours apres le 21 mars (equinoxe de printemps)
If (pfm = 29) Or (pfm = 28 And golden > 11) Then
pfm = pfm - 1
End If

tmp = (4 - pfm - dom) Mod 7
If tmp < 0 Then tmp = tmp + 7

' Paques en nombre de jour apres le 21 mars
easter = pfm + tmp + 1

If easter < 11 Then
dtEaster = (easter + 21) & "/3/" & y
Temp = "Paques : " & Format(dtEaster, "dddd d MMMM yyyy")
Else
dtEaster = (easter - 10) & "/4/" & y
Temp = "Paques : " & Format(dtEaster, "dddd d MMMM yyyy")
End If
Temp = Temp & vbCrLf & "Ascension : " & Format(DateAdd("d", 39,
dtEaster), "dddd d MMMM yyyy")
Temp = Temp & vbCrLf & "Pentecôte : " & Format(DateAdd("d", 49,
dtEaster), "dddd d MMMM yyyy")
MsgBox Temp
End Sub


Private Sub UserForm_Initialize()
Me.txtYear.Text = Year(Now)
End Sub


Classeur su cjoint :


Il y a des méthodes plus courtes ...

--
Cordialement,

Jacques.

LSteph
Le #5341781
Bonsoir,

Si tu parles des fêtes mobiles, pas d'astuces mais un calcul basé sur
la lune pascale...


oui c'est cela, tout à partir de pâques...et plus simplement tous les
jours qui t'intéressent avec les seules formules d'excel voir l'exemple
de GD sur http://excelabo.net
ici précisément:

http://www.excelabo.net/excel/classeurstemps.php

Les jours fériés et fêtes chrétiennes en France (sans macros) +
résultats du concours international "formule pour trouver la date de pâques"
gd-feries (téléchargé 6597 fois)
GeeDee, (N°221)


Cordialement.

--
lSteph


Bonjour LePetit+,
quelqu'un a t-il une astuce pour le calcul des jours fériés?


Si tu parles des fêtes mobiles, pas d'astuces, mais un calcul basé sur
la lune pascale, qui n'est pas liée au cycle lunaire réel :

dans un UserForm :

Option Explicit

Private Sub cmdPaques_Click()
Dim y As Integer ' Annee
Dim golden As Integer ' Nombre d'or
Dim solar As Integer ' Correction solaire
Dim lunar As Integer ' Correction lunaire
Dim pfm As Integer ' Pleine lune de paques
Dim dom As Integer ' Nombre dominical
Dim easter As Integer ' jour de paques
Dim dtEaster As Date
Dim tmp As Integer

Dim Temp As String

y = Val(Me.txtYear.Text)

' Nombre d'or
golden = (y Mod 19) + 1
If y <= 1752 Then ' Calendrier Julien
' Nombre dominical
dom = (y + (y 4) + 5) Mod 7
If dom < 0 Then dom = dom + 7
' Date non corrigee de la pleine lune de paques
pfm = (3 - (11 * golden) - 7) Mod 30
If pfm < 0 Then pfm = pfm + 30
Else ' Calendrier Gregorien
' Nombre dominical
dom = (y + (y 4) - (y 100) + (y 400)) Mod 7
If dom < 0 Then dom = dom + 7
' Correction solaire et lunaire
solar = (y - 1600) 100 - (y - 1600) 400
lunar = (((y - 1400) 100) * 8) 25
' Date non corrigee de la pleine lune de paques
pfm = (3 - (11 * golden) + solar - lunar) Mod 30
If pfm < 0 Then pfm = pfm + 30
End If
' Date corrige de la pleine lune de paques :
' jours apres le 21 mars (equinoxe de printemps)
If (pfm = 29) Or (pfm = 28 And golden > 11) Then
pfm = pfm - 1
End If

tmp = (4 - pfm - dom) Mod 7
If tmp < 0 Then tmp = tmp + 7

' Paques en nombre de jour apres le 21 mars
easter = pfm + tmp + 1

If easter < 11 Then
dtEaster = (easter + 21) & "/3/" & y
Temp = "Paques : " & Format(dtEaster, "dddd d MMMM yyyy")
Else
dtEaster = (easter - 10) & "/4/" & y
Temp = "Paques : " & Format(dtEaster, "dddd d MMMM yyyy")
End If
Temp = Temp & vbCrLf & "Ascension : " & Format(DateAdd("d", 39,
dtEaster), "dddd d MMMM yyyy")
Temp = Temp & vbCrLf & "Pentecôte : " & Format(DateAdd("d", 49,
dtEaster), "dddd d MMMM yyyy")
MsgBox Temp
End Sub


Private Sub UserForm_Initialize()
Me.txtYear.Text = Year(Now)
End Sub


Classeur su cjoint :


Il y a des méthodes plus courtes ...




Jacques93
Le #5341751
Bonjour LSteph,
Bonsoir,

Si tu parles des fêtes mobiles, pas d'astuces mais un calcul basé sur
la lune pascale...


oui c'est cela, tout à partir de pâques...et plus simplement tous les
jours qui t'intéressent avec les seules formules d'excel voir l'exemple
de GD sur http://excelabo.net
ici précisément:

http://www.excelabo.net/excel/classeurstemps.php

Les jours fériés et fêtes chrétiennes en France (sans macros) +
résultats du concours international "formule pour trouver la date de
pâques"
gd-feries (téléchargé 6597 fois)
GeeDee, (N°221)



Il existe pas mal d'algorithmes pour ce calcul, dépendant du type de
calendrier, de la date.


Celui que j'ai indiqué s'approche une peu de celui de EasterKershaw. Et
l'utilisation de VBA ne permet elle pas de s'affranchir des limites de
date d'excel ?

--
Meilleurs voeux à tous,

Jacques.


LSteph
Le #5341711
Bonsoir,

l'utilisation de VBA ne permet elle pas de s'affranchir des limites de
date d'excel ?


A moins d'avoir besoin des jours fériés avant 1900, dans ce cas précis
la solution par formule reste tout de même plus simple et l'exemple
proposé sur excelabo me semble juste pouvoir être préféré à cet égard.

Cordialement.

Bonnes fêtes.

--
lSteph

Bonjour LSteph,
Bonsoir,

Si tu parles des fêtes mobiles, pas d'astuces mais un calcul basé sur
la lune pascale...


oui c'est cela, tout à partir de pâques...et plus simplement tous les
jours qui t'intéressent avec les seules formules d'excel voir
l'exemple de GD sur http://excelabo.net
ici précisément:

http://www.excelabo.net/excel/classeurstemps.php

Les jours fériés et fêtes chrétiennes en France (sans macros) +
résultats du concours international "formule pour trouver la date de
pâques"
gd-feries (téléchargé 6597 fois)
GeeDee, (N°221)



Il existe pas mal d'algorithmes pour ce calcul, dépendant du type de
calendrier, de la date.


Celui que j'ai indiqué s'approche une peu de celui de EasterKershaw. Et
l'utilisation de VBA ne permet elle pas de s'affranchir des limites de
date d'excel ?





François
Le #5341681
Bonjour,

Sans la moindre hésitation, et pour avoir fait des recherche (en étant
confronté à ce même problème), je renverrais ferment sur le site de notre JB
à l'adresse :

http://boisgontierj.free.fr/fichiers/jb-Calendriers.xls

sur les feuilles "Planning ..." en colonnes BV ou C ... selon les feuilles.

Efficace, et redoutable, comme on pouvait l'imaginer venant de JB !

François

"LePetit+" news:
quelqu'un a t-il une astuce pour le calcul des jours fériés?


Publicité
Poster une réponse
Anonyme