Bonjour,
Quelqu'un peut m'aider sur le Fonction PLUSJOURSOUVRES.
J'ai un planning avec un date de depart en A1.
En B1 j'ai =PlusJOuvres($A$1;1),
donc normalement si le jour qui suit A1 est férié je devrais pas exemple en
a1=31/12/03 et en B1 02/01/2004 hors en B1 j'ai 01/01/2004????
'ajoute si ouvré If (IsError(Application.Match(Dt, Arr, 0))) = True And _ (WeekDay(Dt, vbMonday) < 6) = True Then i = i + 1 End If Loop Until i = NbJours
PlusJOuvres = Dt
End Function 'fs
"AV" a écrit dans le message de news: bo01ch$u4j$
PLUSJOURSOUVRES
Elle vient d'où cette fonction ?
AV
J'ai trouvé cela chez je crois chez F. SIGONNEAU je sais plus tu la veux en
copie???
Function PlusJOuvres(D, NbJours)
Dim Dt, i
Dim NbOr, Epacte As Integer
Dim PLune, LPaques, Arr(10) As Long
Dt = CLng(D)
Do
Dt = Dt + 1
'calcul du Lundi de Pâques
NbOr = (An Mod 19) + 1
Epacte = (11 * NbOr - (3 + Int(2 + Int(An / 100)) * 3 / 7)) Mod 30
PLune = DateSerial(An, 4, 19) - ((Epacte + 6) Mod 30)
If Epacte = 24 Then PLune = PLune - 1
If Epacte = 25 And (An >= 1900 And An < 2200) Then PLune = PLune - 1
LPaques = PLune - WeekDay(PLune) + vbMonday + 7 'Lundi Paques
'ajoute si ouvré
If (IsError(Application.Match(Dt, Arr, 0))) = True And _
(WeekDay(Dt, vbMonday) < 6) = True Then
i = i + 1
End If
Loop Until i = NbJours
PlusJOuvres = Dt
End Function 'fs
"AV" <alain.vallon@wanadoo.fr> a écrit dans le message de news:
bo01ch$u4j$1@news-reader5.wanadoo.fr...
'ajoute si ouvré If (IsError(Application.Match(Dt, Arr, 0))) = True And _ (WeekDay(Dt, vbMonday) < 6) = True Then i = i + 1 End If Loop Until i = NbJours
PlusJOuvres = Dt
End Function 'fs
"AV" a écrit dans le message de news: bo01ch$u4j$
PLUSJOURSOUVRES
Elle vient d'où cette fonction ?
AV
AV
Je laisserais FS te répondre sur sa fonction perso mais il existe aussi la fonction (issue de l'utilitaire d'analyse) SERIE.JOUR.OUVRE
AV
Je laisserais FS te répondre sur sa fonction perso mais il existe aussi la
fonction (issue de l'utilitaire d'analyse) SERIE.JOUR.OUVRE
'ajoute si ouvré If (IsError(Application.Match(Dt, Arr, 0))) = True And _ (WeekDay(Dt, vbMonday) < 6) = True Then i = i + 1 End If Loop Until i = NbJours
PlusJOuvres = Dt
End Function 'fs
Bonjour.
Rajoute An = Year(Dt)
aprés Dt = Dt + 1
Alain CROS.
"Pascal" <pabd@wanadoo.fr> a écrit dans le message de news: #QzvIVGoDHA.488@tk2msftngp13.phx.gbl...
J'ai trouvé cela chez je crois chez F. SIGONNEAU je sais plus tu la veux en
copie???
Function PlusJOuvres(D, NbJours)
Dim Dt, i
Dim NbOr, Epacte As Integer
Dim PLune, LPaques, Arr(10) As Long
Dt = CLng(D)
Do
Dt = Dt + 1
'calcul du Lundi de Pâques
NbOr = (An Mod 19) + 1
Epacte = (11 * NbOr - (3 + Int(2 + Int(An / 100)) * 3 / 7)) Mod 30
PLune = DateSerial(An, 4, 19) - ((Epacte + 6) Mod 30)
If Epacte = 24 Then PLune = PLune - 1
If Epacte = 25 And (An >= 1900 And An < 2200) Then PLune = PLune - 1
LPaques = PLune - WeekDay(PLune) + vbMonday + 7 'Lundi Paques
'ajoute si ouvré
If (IsError(Application.Match(Dt, Arr, 0))) = True And _
(WeekDay(Dt, vbMonday) < 6) = True Then
i = i + 1
End If
Loop Until i = NbJours
'ajoute si ouvré If (IsError(Application.Match(Dt, Arr, 0))) = True And _ (WeekDay(Dt, vbMonday) < 6) = True Then i = i + 1 End If Loop Until i = NbJours
PlusJOuvres = Dt
End Function 'fs
Frédéric Sigonneau
Bonsoir,
Merci du suivi :) Quand je pense au boulot de mise à jour qui m'attend si le lundi de Pentecôte passe à la trappe un de ces jours :-((
FS -- Frédéric Sigonneau [MVP Excel - né un sans-culottide] Gestions de temps, VBA pour Excel : http://perso.wanadoo.fr/frederic.sigonneau Si votre question sur Excel est urgente, évitez ma bal !
Bonjour.
Rajoute An = Year(Dt) aprés Dt = Dt + 1
Alain CROS.
"Pascal" a écrit dans le message de news: #
J'ai trouvé cela chez je crois chez F. SIGONNEAU je sais plus tu la veux en copie???
Function PlusJOuvres(D, NbJours) Dim Dt, i Dim NbOr, Epacte As Integer Dim PLune, LPaques, Arr(10) As Long
Dt = CLng(D) Do Dt = Dt + 1 'calcul du Lundi de Pâques NbOr = (An Mod 19) + 1 Epacte = (11 * NbOr - (3 + Int(2 + Int(An / 100)) * 3 / 7)) Mod 30 PLune = DateSerial(An, 4, 19) - ((Epacte + 6) Mod 30) If Epacte = 24 Then PLune = PLune - 1 If Epacte = 25 And (An >= 1900 And An < 2200) Then PLune = PLune - 1 LPaques = PLune - WeekDay(PLune) + vbMonday + 7 'Lundi Paques
'ajoute si ouvré If (IsError(Application.Match(Dt, Arr, 0))) = True And _ (WeekDay(Dt, vbMonday) < 6) = True Then i = i + 1 End If Loop Until i = NbJours
PlusJOuvres = Dt
End Function 'fs
Bonsoir,
Merci du suivi :)
Quand je pense au boulot de mise à jour qui m'attend si le lundi de Pentecôte
passe à la trappe un de ces jours :-((
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour.
Rajoute An = Year(Dt)
aprés Dt = Dt + 1
Alain CROS.
"Pascal" <pabd@wanadoo.fr> a écrit dans le message de news: #QzvIVGoDHA.488@tk2msftngp13.phx.gbl...
J'ai trouvé cela chez je crois chez F. SIGONNEAU je sais plus tu la veux en
copie???
Function PlusJOuvres(D, NbJours)
Dim Dt, i
Dim NbOr, Epacte As Integer
Dim PLune, LPaques, Arr(10) As Long
Dt = CLng(D)
Do
Dt = Dt + 1
'calcul du Lundi de Pâques
NbOr = (An Mod 19) + 1
Epacte = (11 * NbOr - (3 + Int(2 + Int(An / 100)) * 3 / 7)) Mod 30
PLune = DateSerial(An, 4, 19) - ((Epacte + 6) Mod 30)
If Epacte = 24 Then PLune = PLune - 1
If Epacte = 25 And (An >= 1900 And An < 2200) Then PLune = PLune - 1
LPaques = PLune - WeekDay(PLune) + vbMonday + 7 'Lundi Paques
'ajoute si ouvré
If (IsError(Application.Match(Dt, Arr, 0))) = True And _
(WeekDay(Dt, vbMonday) < 6) = True Then
i = i + 1
End If
Loop Until i = NbJours
Merci du suivi :) Quand je pense au boulot de mise à jour qui m'attend si le lundi de Pentecôte passe à la trappe un de ces jours :-((
FS -- Frédéric Sigonneau [MVP Excel - né un sans-culottide] Gestions de temps, VBA pour Excel : http://perso.wanadoo.fr/frederic.sigonneau Si votre question sur Excel est urgente, évitez ma bal !
Bonjour.
Rajoute An = Year(Dt) aprés Dt = Dt + 1
Alain CROS.
"Pascal" a écrit dans le message de news: #
J'ai trouvé cela chez je crois chez F. SIGONNEAU je sais plus tu la veux en copie???
Function PlusJOuvres(D, NbJours) Dim Dt, i Dim NbOr, Epacte As Integer Dim PLune, LPaques, Arr(10) As Long
Dt = CLng(D) Do Dt = Dt + 1 'calcul du Lundi de Pâques NbOr = (An Mod 19) + 1 Epacte = (11 * NbOr - (3 + Int(2 + Int(An / 100)) * 3 / 7)) Mod 30 PLune = DateSerial(An, 4, 19) - ((Epacte + 6) Mod 30) If Epacte = 24 Then PLune = PLune - 1 If Epacte = 25 And (An >= 1900 And An < 2200) Then PLune = PLune - 1 LPaques = PLune - WeekDay(PLune) + vbMonday + 7 'Lundi Paques
'ajoute si ouvré If (IsError(Application.Match(Dt, Arr, 0))) = True And _ (WeekDay(Dt, vbMonday) < 6) = True Then i = i + 1 End If Loop Until i = NbJours
PlusJOuvres = Dt
End Function 'fs
gee-dee-
bonsoir, en complément d'informations : la fonction de FS PlusJOuvres apporte un petit plus par rapport à la fonction (issue de l'utilitaire d'analyse) SERIE.JOUR.OUVRE
exemple : dimanche 28 décembre 2003 avec + 5 jours SERIE.JOUR.OUVRE (D;5) vendredi 2 janvier 2004 PlusJOuvres(D; 5) lundi 5 janvier 2004
- SERIE.JOUR.OUVRE ne considère que les samedis et dimanches non ouvrés - SERIE.JOUR.OUVRE admet une liste personnalisée de jours non travaillés (ex: congés)
- la fonction PlusJOuvres inclus les féries légaux français
;-))) du travail en perspective, comme Frédéric l'a dit : si le lundi de Pentecote passe à la trappe, il en profitera peut etre pour inclure la liste personnalisée de jours non travaillés !!!! PlusJOuvres(date_début;nb_jours;jours_fériés)
et pourquoi pas UTOPIE ???? les fériés par pays (il me semble que Daniel M. à déja travaillé le sujet ????) PlusJOuvres(date_début;nb_jours;jours_fériés;pays)
@+
bonsoir,
en complément d'informations :
la fonction de FS PlusJOuvres apporte un petit plus par rapport à la
fonction (issue de l'utilitaire d'analyse) SERIE.JOUR.OUVRE
exemple :
dimanche 28 décembre 2003 avec + 5 jours
SERIE.JOUR.OUVRE (D;5) vendredi 2 janvier 2004
PlusJOuvres(D; 5) lundi 5 janvier 2004
- SERIE.JOUR.OUVRE ne considère que les samedis et dimanches non ouvrés
- SERIE.JOUR.OUVRE admet une liste personnalisée de jours non travaillés
(ex: congés)
- la fonction PlusJOuvres inclus les féries légaux français
;-)))
du travail en perspective, comme Frédéric l'a dit : si le lundi de Pentecote
passe à la trappe,
il en profitera peut etre pour inclure la liste personnalisée de jours non
travaillés !!!!
PlusJOuvres(date_début;nb_jours;jours_fériés)
et pourquoi pas UTOPIE ????
les fériés par pays (il me semble que Daniel M. à déja travaillé le sujet
????)
PlusJOuvres(date_début;nb_jours;jours_fériés;pays)
bonsoir, en complément d'informations : la fonction de FS PlusJOuvres apporte un petit plus par rapport à la fonction (issue de l'utilitaire d'analyse) SERIE.JOUR.OUVRE
exemple : dimanche 28 décembre 2003 avec + 5 jours SERIE.JOUR.OUVRE (D;5) vendredi 2 janvier 2004 PlusJOuvres(D; 5) lundi 5 janvier 2004
- SERIE.JOUR.OUVRE ne considère que les samedis et dimanches non ouvrés - SERIE.JOUR.OUVRE admet une liste personnalisée de jours non travaillés (ex: congés)
- la fonction PlusJOuvres inclus les féries légaux français
;-))) du travail en perspective, comme Frédéric l'a dit : si le lundi de Pentecote passe à la trappe, il en profitera peut etre pour inclure la liste personnalisée de jours non travaillés !!!! PlusJOuvres(date_début;nb_jours;jours_fériés)
et pourquoi pas UTOPIE ???? les fériés par pays (il me semble que Daniel M. à déja travaillé le sujet ????) PlusJOuvres(date_début;nb_jours;jours_fériés;pays)
@+
AV
- SERIE.JOUR.OUVRE ne considère que les samedis et dimanches non ouvrés
Et si tu te servais du 3° argument de la fonction ça le ferait pas mieux ?
;-) AV
- SERIE.JOUR.OUVRE ne considère que les samedis et dimanches non ouvrés
Et si tu te servais du 3° argument de la fonction ça le ferait pas mieux ?
- SERIE.JOUR.OUVRE ne considère que les samedis et dimanches non ouvrés
Et si tu te servais du 3° argument de la fonction ça le ferait pas mieux ?
;-) AV
Modeste
;-))) d'autant que le lundi de Pentecôte, ta fonction s'en bat l'aile (locution azerguii ???) ;-))) @+
-----Message d'origine----- Bonsoir,
Merci du suivi :) Quand je pense au boulot de mise à jour qui m'attend si le lundi de Pentecôte
passe à la trappe un de ces jours :-((
FS -- Frédéric Sigonneau [MVP Excel - né un sans-culottide] Gestions de temps, VBA pour Excel : http://perso.wanadoo.fr/frederic.sigonneau Si votre question sur Excel est urgente, évitez ma bal !
Bonjour.
Rajoute An = Year(Dt) aprés Dt = Dt + 1
Alain CROS.
"Pascal" a écrit dans le message de news: #
J'ai trouvé cela chez je crois chez F. SIGONNEAU je sais plus tu la veux en
copie???
Function PlusJOuvres(D, NbJours) Dim Dt, i Dim NbOr, Epacte As Integer Dim PLune, LPaques, Arr(10) As Long
Dt = CLng(D) Do Dt = Dt + 1 'calcul du Lundi de Pâques NbOr = (An Mod 19) + 1 Epacte = (11 * NbOr - (3 + Int(2 + Int(An / 100)) * 3 / 7)) Mod 30
'ajoute si ouvré If (IsError(Application.Match(Dt, Arr, 0))) = True And _
(WeekDay(Dt, vbMonday) < 6) = True Then i = i + 1 End If Loop Until i = NbJours
PlusJOuvres = Dt
End Function 'fs
.
;-)))
d'autant que le lundi de Pentecôte,
ta fonction s'en bat l'aile (locution azerguii ???)
;-)))
@+
-----Message d'origine-----
Bonsoir,
Merci du suivi :)
Quand je pense au boulot de mise à jour qui m'attend si
le lundi de Pentecôte
passe à la trappe un de ces jours :-((
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour.
Rajoute An = Year(Dt)
aprés Dt = Dt + 1
Alain CROS.
"Pascal" <pabd@wanadoo.fr> a écrit dans le message de
news: #QzvIVGoDHA.488@tk2msftngp13.phx.gbl...
J'ai trouvé cela chez je crois chez F. SIGONNEAU je
sais plus tu la veux en
copie???
Function PlusJOuvres(D, NbJours)
Dim Dt, i
Dim NbOr, Epacte As Integer
Dim PLune, LPaques, Arr(10) As Long
Dt = CLng(D)
Do
Dt = Dt + 1
'calcul du Lundi de Pâques
NbOr = (An Mod 19) + 1
Epacte = (11 * NbOr - (3 + Int(2 + Int(An / 100))
* 3 / 7)) Mod 30
;-))) d'autant que le lundi de Pentecôte, ta fonction s'en bat l'aile (locution azerguii ???) ;-))) @+
-----Message d'origine----- Bonsoir,
Merci du suivi :) Quand je pense au boulot de mise à jour qui m'attend si le lundi de Pentecôte
passe à la trappe un de ces jours :-((
FS -- Frédéric Sigonneau [MVP Excel - né un sans-culottide] Gestions de temps, VBA pour Excel : http://perso.wanadoo.fr/frederic.sigonneau Si votre question sur Excel est urgente, évitez ma bal !
Bonjour.
Rajoute An = Year(Dt) aprés Dt = Dt + 1
Alain CROS.
"Pascal" a écrit dans le message de news: #
J'ai trouvé cela chez je crois chez F. SIGONNEAU je sais plus tu la veux en
copie???
Function PlusJOuvres(D, NbJours) Dim Dt, i Dim NbOr, Epacte As Integer Dim PLune, LPaques, Arr(10) As Long
Dt = CLng(D) Do Dt = Dt + 1 'calcul du Lundi de Pâques NbOr = (An Mod 19) + 1 Epacte = (11 * NbOr - (3 + Int(2 + Int(An / 100)) * 3 / 7)) Mod 30