OVH Cloud OVH Cloud

Fonction serie.jour.ouvre (suite 2)

12 réponses
Avatar
michel-hirard
Mon message précédent était incompréhensible car le tableau s'est détruit
J'espère que cette présentation passera mieux.
Mille excuses

Bonjour et merci à Michdenis,

Je viens préciser ma question.
La fonction serie.jour.ouvre me permet de calculer l'échéance à 11 jours
ouvrés
Elle donne un résultat aléatoire à 1 jour près.
Je me sert de la fonction inverse nb.jours.ouvres pour vérifier l'écart
entre
la colonne B et C
Je devrais systématiquement avoir un écart de 11 jours imposé par la
fonction serie.jour.ouvre, or une fois sur deux j'ai une différence de 1
jour.
Je ne trouve pas la raison de cette incohérence

Date initiale =serie.jour.ouvre(B3;11)
B C D
3 12/02/04 27/02/04 12
4 07/02/04 23/02/04 11
5 15/02/04 01/03/04 11
6 21/01/04 05/02/04 12
7 01/02/04 16/02/04 11
8 05/02/04 20/02/04 12

=nb.jours.ouvres(B3;C3)
(Pour
Vérification)

LES CELLULES C3, C6 et C8, AFFICHENT UN JOUR EN TROP POUR UNE RAISON
MYSTERIEUSE

Merci à tous

2 réponses

1 2
Avatar
michdenis
Bonjour Modeste,

Je vais clore cet échange comme ceci :

Si la fonction "=SERIE.JOUR.OUVRE(B3;11)" détermine la date de la nième journée ouvrée sans compter celle en cours,
Pourquoi M. Excel inclut-il les 2 bornes lorsqu'il détermine le nombre de journée ouvrés entre 2 dates ?

La définition de la fonction NB.JOURS.OUVRES qu'excel donne : "Renvoie le nombre de jours ouvrés entre 2 dates"
"ressemble" à un écart entre 2 dates (cela n'empêche pas Excel d'inclure les 2 bornes).

L'exemple que je donnais :

Si on ajoute 11 jours à cette date : 12/02/04 on obtient 27/02/04
Si on calcul le nombre de jours ouvrés entre ces 2 dates :
Entre 12/02/04 et 27/02/04, on obtient 12 , les 2 bornes font parti du résultat.

C'est comme "dire" :
5 + 6 = 11 Mais 11 - 6 = 6

Il doit y avoir sûrement des bonnes raisons à ceci ... et c'est pas grave si je ne saisis pas toutes les subtilités que
les concepteurs ont glissé des formules en autant que je réussisse en m'en servir !!!

;-))

Bonne journée,

Salutations!






départ arrivée NB.JOURS.OUVRES()







"Modeste" a écrit dans le message de news:218801c3fc3f$ff248af0$
Ahhhh Michel......la sémantique !!!!
oupsss Denis
il ne s'agit pas de mathématique ;-)))

Serie.jour.ouvré ne signifie pas une série de jours ouvrés
mais vient d'une traduction approximative du nom de la
fonction originale WORKDAY
Returns a number that represents a date that is the
indicated number of working days before or after a date
(the starting date).
le no de série (Serial) d'une date située un nombre de
jours avant ou aprés une date .

Lorsque mon chef me confie un travail evalué à 11 jours
c'est 11 jours en plus du travail que je fais actuellement.

comme je ne travaille que les jours ouvrés!!!
;-)))
même pas prouvé diront certains scudeurs patentés
;-)))

tu t'y prendra comme tu veux, meme si mon chef me contacte
un samedi ou un dimanche, je n'imputerai que 11 jours
(nb.jours.ouvres) ouvrés à cette tache et non pas 12, et
cette tache ne sera terminée que 11 jours ouvrés apres
éxécution des taches précédentes.....
si tel n'était pas le cas tout les diagrammes de GANTT que
je réalise pour le service m'auraient déja été jetés à la
figure .....
;-)))
@+
-----Message d'origine-----
Bonsoir gee-dee,

On n'a pas fait le même cours de mathématique ...;-)))

le terme "Ajout" signifie "en plus" donc on ne compte
pas le jour de

référence.

Si j'ajoute 11 à 1 , la réponse est 12 ou 11 ?

Je suis d'accord, j'ai ajouté 11 mais le total est 12.


" mais si l'on ne comptabilise que les jours
ouvrés "ajoutés" ,on ne doit

compter que ceux-ci !!!! "

La fonction s'appelle "=SERIE.JOUR.OUVRE(B3;11)" et non
pas Ajout.Jour.Ouvre(B3:11) Je croyais qu'elle

comptablisais
l'ensemble des jours ouvrés de la période et non pas
seulement l'ajout des jours ouvrés . Il en est de même

pour la
fonction nb.jours.ouvres(). Elle calcule l'ensemble des
jours ouvrés de la période.. évidemment tu soustrais 1 si

ce que
tu veux est le nombre de jours ajoutés en 2 dates.

Essaie ceci :
départ arrivée NB.JOURS.OUVRES()
12/02/04 27/02/04 12


Si ton raisonnement était bon pour l'ajout, tu devrais
tenir le même pour la soustraction !!!


De plus excel, définit dans la boîte des fonctions
NB.JOURS.OUVRES comme suit:


"Renvoie le nombre de jours ouvrés entre 2 dates"


DÉ OUSSE QUIL L'AI MONSIEUR EXCEL QU'ON LUI PARLE ?


;-)))


P.S. le bénéfice d'une entreprise passe de 50 M à 100
M ... elle fait 100 % de profit

l'année suivante, elle fait des pertes, elle
passe de 100 M à 50 M ... et on dit qu'elle a fait 50 % de

pertes
!!!

¨Ca veux-tu dire qu'elle a fait moins de pertes que de
profits ?????



Salutations!






"gee-dee-" a écrit dans le message de
news:Og3dzR$%

;-)))
euuuh oui Denis,
tout n'est qu'interprétation.....
lorsque l'on ajoute des jours qu'ils soient ouvrés ou non
le terme "Ajout" signifie "en plus" donc on ne compte
pas le jour de

référence.

lorsque l'on compte les jours ouvrés sur un intervalle
(nb.jours.ouvres)

en effet si le jour de réference est ouvré "il est bien
sur" inclus dans ce

décompte ;-)))

mais si l'on ne comptabilise que les jours
ouvrés "ajoutés" ,on ne doit

compter que ceux-ci !!!!
et le jour de référence ne doit pas etre comptabilisé
dans ce cas !!!

ma formule sommeprod ne faisait point autre chose ...
non ????

on ne peut en aucun cas affirmer que nb.jours.ouvres est
la fonction

réciproque de série.jour.ouvre
la notion de borne de debut ne signifie pas la même chose.

;-)))
tu n'es pas d'accord ????
@+
..
"michdenis" a écrit dans le
message de

news:OoJsM$%23%
Bonsoir gee-dee,

Et bien là , je suis totalement en désaccord .... ;-)))

J'ai eu le plaisir d'ouvrir un fichier exemple que m'a
fait parvenir


Michel. Pour des raisons propres de son projet,
Michel utilise des jours de fin se semaine (samedi et
dimanche) comme jour


de départ.


Voici l'explication que je lui faisais parvenir en Bal
perso.



--------------------------------------------------------
----


La formule :'=SERIE.JOUR.OUVRE(B3;11)


Lorsque le jour de départ est un jour de semaine.

Cette formule ajoute 11 jours ouvrables à la date en
B3. Donc B3 est la


première journée ouvrable à partir de laquelle
la
formule ajoute 11 jours. Si b3 = 1 hyène journée et
que j'ajoute 11 jours


le résultat est 12.

Lorsque le jour de départ est un Samedi ou Un Dimanche,

Comme cette formule est habileté à calculer seulement
les jours de


semaines, elle omet sciemment la première journée
dans le
décompte puisque ce n'est pas une journée ouvrable. Le
résultat : 11


Jours.

La Formule : '=NB.JOURS.OUVRES(B3;C3) : Calcule le
nombre de jours


ouvrables en deux dates. Elle inclut dans son
décompte les
journées de départ et de fin de période... parce que
chacune de ces


journées est un jour ouvrable. La seule exception
est si
le jour de départ est un Samedi ou Dimanche, Comme ce
n'est pas un jour


ouvrable, ce jour est volontairement omis dans
le
décompte.

Dans les 2 formules, les journées bornes (départ et
arrivée) sont inclus


dans le décompte du nombre de jours fériés.
C'est ce
que l'on appelle de la constante. Et lorsque la date de
départ est un jour


de fin de semaine, dans les 2 cas , ce jours
est
omis dans le décompte....Où est le bug ?????


On ne peut pas demander à une fonction basée seulement
et essentiellement


sur les jours ouvrables de tenir compte de
circonstances particulières comme une date de départ
qui est un samedi ou


dimanche.

Si tu as des besoins particuliers, tu peux imbriquer
tes formules dans des


Si( ) Tu obtiendras des formules dans le
genre :


'Jours de départ peu importe le jour de la semaine
n'est pas pris en


compte
=SI(JOURSEM(B3;2)<=5;NB.JOURS.OUVRES(B3;C3)-
1;NB.JOURS.OUVRES(B3;C3))



OU

'Le jour de départ est toujours pris en compte
indépendamment que ce soit


un jour de semaine ou de Week-End.
=SI(JOURSEM(B3;2)<=5;NB.JOURS.OUVRES
(B3;C3);NB.JOURS.OUVRES(B3;C3)+1)


--------------------------------------------------------
----




Salutations!





"gee-dee-" a écrit dans le message
de


news:%23EwjYW%23%
Bonsoir,
il s'agit simplement d'une mauvaise compréhension....
la date de début n'est pas comprise dans le nombre des
jours ouvrés


ajoutés
par contre la date de fin(calculée) oui !!!!

exemple :
soit une plage de date (21 dates)
en a1 la date de début nommée "Debut"

en a2 ¡+1
recopie vers le bas 20 fois
la plage a1:a21 nommée "lesdates"

en B1 la formule =serie.jour.ouvre(a1;11)
nommée "echeance"



en c1 la formule =joursem(a1;2)
recopie vers le bas 20 fois
la plage C1:C21 nommée "lesJours"

en D1 la formule
=sommeprod(1*(lesdates>début)*(lesdates<=écheance)*
(lesjours<6))



tu peux changer la date en A1
D11 sera toujours 11 .........

A
B C


D
jeu 12/02/2004 ven 27/02/2004 4 11
ven 13/02/2004 5
sam 14/02/2004 6
dim 15/02/2004 7
lun 16/02/2004 1
mar 17/02/2004 2
mer 18/02/2004 3
jeu 19/02/2004 4
ven 20/02/2004 5
sam 21/02/2004 6
dim 22/02/2004 7
lun 23/02/2004 1
mar 24/02/2004 2
mer 25/02/2004 3
jeu 26/02/2004 4
ven 27/02/2004 5
sam 28/02/2004 6
dim 29/02/2004 7
lun 01/03/2004 1

"michel-hirard" a écrit dans
le message de


news:c1ik9v$5ri$
Mon message précédent était incompréhensible car le
tableau s'est



détruit
J'espère que cette présentation passera mieux.
Mille excuses

Bonjour et merci à Michdenis,

Je viens préciser ma question.
La fonction serie.jour.ouvre me permet de calculer
l'échéance à 11 jours



ouvrés
Elle donne un résultat aléatoire à 1 jour près.
Je me sert de la fonction inverse nb.jours.ouvres
pour vérifier l'écart



entre
la colonne B et C
Je devrais systématiquement avoir un écart de 11
jours imposé par la



fonction serie.jour.ouvre, or une fois sur deux j'ai
une différence de 1



jour.
Je ne trouve pas la raison de cette incohérence

Date initiale =serie.jour.ouvre(B3;11)
B C
D


3 12/02/04
27/02/04 12



4 07/02/04
23/02/04 11



5 15/02/04
01/03/04 11



6 21/01/04
05/02/04 12



7 01/02/04
16/02/04 11



8 05/02/04
20/02/04 12




=nb.jours.ouvres(B3;C3)

(Pour

Vérification)

LES CELLULES C3, C6 et C8, AFFICHENT UN JOUR EN TROP
POUR UNE RAISON



MYSTERIEUSE

Merci à tous










.





Avatar
Modeste
;-)))
subtilités le mot est faible.....
eh bien voilà tu as mis le doigt dessus !!!
en effet pouquoi ????

pourquoi lorsque l'on a des employés qui font les postes
de nuit,
si la date de début est 26/02/2004 22:00
echeance 1 jour ouvré : 27/02/2004 00:00 ????

format jj/mm/aaaa hh:mm:ss
1 j.ouvre :00 ?????

ce n'est pas la seule, LL en avait répertorié d'autres me
semble-t-il ...
ces deux fonctions ont certainement été développées par
des équipes MS différentes !!!!
;-)))

-----Message d'origine-----
Bonjour Modeste,

Je vais clore cet échange comme ceci :

Si la fonction "=SERIE.JOUR.OUVRE(B3;11)" détermine la
date de la nième journée ouvrée sans compter celle en

cours,
Pourquoi M. Excel inclut-il les 2 bornes lorsqu'il
détermine le nombre de journée ouvrés entre 2 dates ?


La définition de la fonction NB.JOURS.OUVRES qu'excel
donne : "Renvoie le nombre de jours ouvrés entre 2 dates"

"ressemble" à un écart entre 2 dates (cela n'empêche pas
Excel d'inclure les 2 bornes).


L'exemple que je donnais :

Si on ajoute 11 jours à cette date : 12/02/04 on obtient
27/02/04

Si on calcul le nombre de jours ouvrés entre ces 2 dates :
Entre 12/02/04 et 27/02/04, on obtient 12 , les 2 bornes
font parti du résultat.


C'est comme "dire" :
5 + 6 = 11 Mais 11 - 6 = 6

Il doit y avoir sûrement des bonnes raisons à ceci ... et
c'est pas grave si je ne saisis pas toutes les subtilités

que
les concepteurs ont glissé des formules en autant que je
réussisse en m'en servir !!!


;-))

Bonne journée,

Salutations!






départ arrivée NB.JOURS.OUVRES()







"Modeste" a écrit
dans le message de news:218801c3fc3f$ff248af0

$
Ahhhh Michel......la sémantique !!!!
oupsss Denis
il ne s'agit pas de mathématique ;-)))

Serie.jour.ouvré ne signifie pas une série de jours ouvrés
mais vient d'une traduction approximative du nom de la
fonction originale WORKDAY
Returns a number that represents a date that is the
indicated number of working days before or after a date
(the starting date).
le no de série (Serial) d'une date située un nombre de
jours avant ou aprés une date .

Lorsque mon chef me confie un travail evalué à 11 jours
c'est 11 jours en plus du travail que je fais
actuellement.


comme je ne travaille que les jours ouvrés!!!
;-)))
même pas prouvé diront certains scudeurs patentés
;-)))

tu t'y prendra comme tu veux, meme si mon chef me contacte
un samedi ou un dimanche, je n'imputerai que 11 jours
(nb.jours.ouvres) ouvrés à cette tache et non pas 12, et
cette tache ne sera terminée que 11 jours ouvrés apres
éxécution des taches précédentes.....
si tel n'était pas le cas tout les diagrammes de GANTT que
je réalise pour le service m'auraient déja été jetés à la
figure .....
;-)))
@+
-----Message d'origine-----
Bonsoir gee-dee,

On n'a pas fait le même cours de mathématique ...;-)))

le terme "Ajout" signifie "en plus" donc on ne compte
pas le jour de

référence.

Si j'ajoute 11 à 1 , la réponse est 12 ou 11 ?

Je suis d'accord, j'ai ajouté 11 mais le total est 12.


" mais si l'on ne comptabilise que les jours
ouvrés "ajoutés" ,on ne doit

compter que ceux-ci !!!! "

La fonction s'appelle "=SERIE.JOUR.OUVRE(B3;11)" et non
pas Ajout.Jour.Ouvre(B3:11) Je croyais qu'elle

comptablisais
l'ensemble des jours ouvrés de la période et non pas
seulement l'ajout des jours ouvrés . Il en est de même

pour la
fonction nb.jours.ouvres(). Elle calcule l'ensemble des
jours ouvrés de la période.. évidemment tu soustrais 1 si

ce que
tu veux est le nombre de jours ajoutés en 2 dates.

Essaie ceci :
départ arrivée NB.JOURS.OUVRES()
12/02/04 27/02/04 12


Si ton raisonnement était bon pour l'ajout, tu devrais
tenir le même pour la soustraction !!!


De plus excel, définit dans la boîte des fonctions
NB.JOURS.OUVRES comme suit:


"Renvoie le nombre de jours ouvrés entre 2 dates"


DÉ OUSSE QUIL L'AI MONSIEUR EXCEL QU'ON LUI PARLE ?


;-)))


P.S. le bénéfice d'une entreprise passe de 50 M à 100
M ... elle fait 100 % de profit

l'année suivante, elle fait des pertes, elle
passe de 100 M à 50 M ... et on dit qu'elle a fait 50 % de

pertes
!!!

¨Ca veux-tu dire qu'elle a fait moins de pertes que de
profits ?????



Salutations!






"gee-dee-" a écrit dans le message de
news:Og3dzR$%

;-)))
euuuh oui Denis,
tout n'est qu'interprétation.....
lorsque l'on ajoute des jours qu'ils soient ouvrés ou non
le terme "Ajout" signifie "en plus" donc on ne compte
pas le jour de

référence.

lorsque l'on compte les jours ouvrés sur un intervalle
(nb.jours.ouvres)

en effet si le jour de réference est ouvré "il est bien
sur" inclus dans ce

décompte ;-)))

mais si l'on ne comptabilise que les jours
ouvrés "ajoutés" ,on ne doit

compter que ceux-ci !!!!
et le jour de référence ne doit pas etre comptabilisé
dans ce cas !!!

ma formule sommeprod ne faisait point autre chose ...
non ????

on ne peut en aucun cas affirmer que nb.jours.ouvres est
la fonction

réciproque de série.jour.ouvre
la notion de borne de debut ne signifie pas la même
chose.



;-)))
tu n'es pas d'accord ????
@+
..
"michdenis" a écrit dans le
message de

news:OoJsM$%23%
Bonsoir gee-dee,

Et bien là , je suis totalement en désaccord .... ;-)))

J'ai eu le plaisir d'ouvrir un fichier exemple que m'a
fait parvenir


Michel. Pour des raisons propres de son projet,
Michel utilise des jours de fin se semaine (samedi et
dimanche) comme jour


de départ.


Voici l'explication que je lui faisais parvenir en Bal
perso.



-------------------------------------------------------
-



----
La formule :'=SERIE.JOUR.OUVRE(B3;11)


Lorsque le jour de départ est un jour de semaine.

Cette formule ajoute 11 jours ouvrables à la date en
B3. Donc B3 est la


première journée ouvrable à partir de laquelle
la
formule ajoute 11 jours. Si b3 = 1 hyène journée et
que j'ajoute 11 jours


le résultat est 12.

Lorsque le jour de départ est un Samedi ou Un Dimanche,

Comme cette formule est habileté à calculer seulement
les jours de


semaines, elle omet sciemment la première journée
dans le
décompte puisque ce n'est pas une journée ouvrable. Le
résultat : 11


Jours.

La Formule : '=NB.JOURS.OUVRES(B3;C3) : Calcule le
nombre de jours


ouvrables en deux dates. Elle inclut dans son
décompte les
journées de départ et de fin de période... parce que
chacune de ces


journées est un jour ouvrable. La seule exception
est si
le jour de départ est un Samedi ou Dimanche, Comme ce
n'est pas un jour


ouvrable, ce jour est volontairement omis dans
le
décompte.

Dans les 2 formules, les journées bornes (départ et
arrivée) sont inclus


dans le décompte du nombre de jours fériés.
C'est ce
que l'on appelle de la constante. Et lorsque la date de
départ est un jour


de fin de semaine, dans les 2 cas , ce jours
est
omis dans le décompte....Où est le bug ?????


On ne peut pas demander à une fonction basée seulement
et essentiellement


sur les jours ouvrables de tenir compte de
circonstances particulières comme une date de départ
qui est un samedi ou


dimanche.

Si tu as des besoins particuliers, tu peux imbriquer
tes formules dans des


Si( ) Tu obtiendras des formules dans le
genre :


'Jours de départ peu importe le jour de la semaine
n'est pas pris en


compte
=SI(JOURSEM(B3;2)<=5;NB.JOURS.OUVRES(B3;C3)-
1;NB.JOURS.OUVRES(B3;C3))



OU

'Le jour de départ est toujours pris en compte
indépendamment que ce soit


un jour de semaine ou de Week-End.
=SI(JOURSEM(B3;2)<=5;NB.JOURS.OUVRES
(B3;C3);NB.JOURS.OUVRES(B3;C3)+1)


-------------------------------------------------------
-



----


Salutations!





"gee-dee-" a écrit dans le message
de


news:%23EwjYW%23%
Bonsoir,
il s'agit simplement d'une mauvaise compréhension....
la date de début n'est pas comprise dans le nombre des
jours ouvrés


ajoutés
par contre la date de fin(calculée) oui !!!!

exemple :
soit une plage de date (21 dates)
en a1 la date de début nommée "Debut"

en a2 ¡+1
recopie vers le bas 20 fois
la plage a1:a21 nommée "lesdates"

en B1 la formule =serie.jour.ouvre(a1;11)
nommée "echeance"



en c1 la formule =joursem(a1;2)
recopie vers le bas 20 fois
la plage C1:C21 nommée "lesJours"

en D1 la formule
=sommeprod(1*(lesdates>début)*(lesdates<=écheance)*
(lesjours<6))



tu peux changer la date en A1
D11 sera toujours 11 .........

A
B C


D
jeu 12/02/2004 ven 27/02/2004 4 11
ven 13/02/2004 5
sam 14/02/2004 6
dim 15/02/2004 7
lun 16/02/2004 1
mar 17/02/2004 2
mer 18/02/2004 3
jeu 19/02/2004 4
ven 20/02/2004 5
sam 21/02/2004 6
dim 22/02/2004 7
lun 23/02/2004 1
mar 24/02/2004 2
mer 25/02/2004 3
jeu 26/02/2004 4
ven 27/02/2004 5
sam 28/02/2004 6
dim 29/02/2004 7
lun 01/03/2004 1

"michel-hirard" a écrit dans
le message de


news:c1ik9v$5ri$
Mon message précédent était incompréhensible car le
tableau s'est



détruit
J'espère que cette présentation passera mieux.
Mille excuses

Bonjour et merci à Michdenis,

Je viens préciser ma question.
La fonction serie.jour.ouvre me permet de calculer
l'échéance à 11 jours



ouvrés
Elle donne un résultat aléatoire à 1 jour près.
Je me sert de la fonction inverse nb.jours.ouvres
pour vérifier l'écart



entre
la colonne B et C
Je devrais systématiquement avoir un écart de 11
jours imposé par la



fonction serie.jour.ouvre, or une fois sur deux j'ai
une différence de 1



jour.
Je ne trouve pas la raison de cette incohérence

Date initiale =serie.jour.ouvre(B3;11)
B C
D


3 12/02/04
27/02/04 12



4 07/02/04
23/02/04 11



5 15/02/04
01/03/04 11



6 21/01/04
05/02/04 12



7 01/02/04
16/02/04 11



8 05/02/04
20/02/04 12




=nb.jours.ouvres(B3;C3)

(Pour

Vérification)

LES CELLULES C3, C6 et C8, AFFICHENT UN JOUR EN TROP
POUR UNE RAISON



MYSTERIEUSE

Merci à tous










.




.






1 2