OVH Cloud OVH Cloud

Problème avec formule pour exclure d'un décompte les samedis et dimanches...

21 réponses
Avatar
François
Bonjour à tous,

J'ai un tableau avec de B1 à AF1, les numéros de jours du mois, et en
ordonné de A3 à A14 le nom de personnes.
(N.B. pour juin qui ne compte que 30 jours, la cellule AF3 est alors
vide...)
Lorsqu'une personne part en vacances, je mets manuellement un"X" sur la
ligne du salarié, à toutes les dates de non présence...
Enfin, de AG3 à AG14, j'ai le total des jours de congés pris par chaque
personne.
La formule NBVAL(B3:AF3) me donne ce résultat. Sans problème.

Mais je n'arrive pas à trouver la formule qui me permette d'exclure de ce
calcul les samedis et les dimanches ?
J'ai essayé :
=NB.SI(B3:AF3;JOURSEM(DATE(ANNEE($A$1);MOIS($A$1);B$2:AF$2);2)>5)
(N.B. j'ai en A1 un jour quelquonque du mois considéré, le 06/06/07 par
exemple)
par exemple). Mais cela ne détecte aucun X (résultat = 0). Quid de prendre
en compte le côté samedi ou dimanche !
J'ai essayé :
=SOMMEPROD((B3:AF3="X")*(JOURSEM(DATE(ANNEE($A$1);MOIS($A$1);B$2:AF$2);2)>5))
Même résultat erroné !
Le fait de rajouter *1 à la fin ne change rien à l'affaire.

Où est mon erreur ?
Dois-je recourrir à une formule matricielle (plus lourde!) ?

Merci à tous

François

10 réponses

1 2 3
Avatar
JB
Bonjour Modeste,

Total heures jours ouvrés:
=SOMME(SI(JOURSEM(date;2)<6;heure))
Valider avec Maj+ctrl+entrée

http://boisgontierjacques.free.fr/fichiers/Matriciel/MatricielSommeJourOuvr es.xls

Ne fonctionne pas si on remplace Somme() par SommeProd() avec
validation simple.

JB

On 16 juin, 00:09, "Modeste" wrote:
Bonsour® JB avec ferveur ;o))) vous nous disiez :

SommeProd() est une fonction matricielle implicite (validation
simple).
Mais elle ne fonctionne pas toujours; il faut alors valider avec Maj
+Ctrl+Entrée


???????????
simple curiosité : exemples ??

--
--
@+
;o)))



Avatar
AV
SommeProd() est une fonction matricielle implicite (validation
simple).
Mais elle ne fonctionne pas toujours; il faut alors valider avec Maj
+Ctrl+Entrée

Hum...hum....ça va être dur de trouver l'exemple qui illustre l'affirmation

AV pour la SPA (en l'absence du secrétaire)
Avatar
AV
Total heures jours ouvrés:
=SOMME(SI(JOURSEM(date;2)<6;heure))
Valider avec Maj+ctrl+entrée
http://boisgontierjacques.free.fr/fichiers/Matriciel/MatricielSommeJourOuvres.xls
Ne fonctionne pas si on remplace Somme() par SommeProd() avec
validation simple.

Ca marche très bien si on respecte la syntaxe :

=SOMMEPROD(JOURSEM(date;2)<6;heure)
Cette syntaxe (validée matriciellement ou pas) ne peut marcher car la matrice
générée par le test logique (JOURSEM(date;2)<6) est non numérique !

Il suffit de corriger de cette façon :
=SOMMEPROD(1*(JOURSEM(date;2)<6);heure)

ou simplement en utilisant un seul argument dans la fonction SP :
=SOMMEPROD((JOURSEM(date;2)<6)*heure)

Valider matriciellement SOMMEPROD est superfétatoire
AV
Avatar
François
Bonjour à tous,

Encore une petite question pour le décompte hors WE que vous m'avez donné :

Dans l'exemple fourni, je mettais 0 dans la case du 31 juin qui n'est pas
valide.
J'ai mis la formule
SI(AE2="";"";SI(JOUR(DATE(ANNEE($A$1);MOIS($A$1);30)+1)<JOUR(DATE(ANNEE($A$1);MOIS($A$1);30));"";JOUR(AE2+1)))
, pour ne rien afficher sur ce jour non valide.
La formule marche très bien dans cette cellule, mais rend invalide la
fonction sommeprod de JB qui fait le décompte des jours cochés hors WE en
colonne AG. Je n'arrive pas à rectifier le tir, en employant la fonction
ESTNUM par exemple.
Cela bloque toujours !

Autre petite difficulté, pour toutes les cellules du tableau, j'ai mis une
MEFC pour colorer en ocre les samedis et dimanches.Cela fonctionne bien.
J'ai créé en AI2:AI12 un bloc de cellule nommé Holiday, et ai mis
fictivement en AI2 le 5 juin 2007 comme jour férié.
Mais la MEFC ne fonctionne pas pour les jours fériés, que ce soit en prenant
le nom comme référence ou la référence AI2 ?

Une idée ?
Voici le fichier en Cjoint : http://cjoint.com/?gqjLdk6PMI

Merci à tous pour votre aide

François


"AV" a écrit dans le message de news:
exCvmE%
Total heures jours ouvrés:
=SOMME(SI(JOURSEM(date;2)<6;heure))
Valider avec Maj+ctrl+entrée
http://boisgontierjacques.free.fr/fichiers/Matriciel/MatricielSommeJourOuvres.xls
Ne fonctionne pas si on remplace Somme() par SommeProd() avec
validation simple.

Ca marche très bien si on respecte la syntaxe :

=SOMMEPROD(JOURSEM(date;2)<6;heure)
Cette syntaxe (validée matriciellement ou pas) ne peut marcher car la
matrice générée par le test logique (JOURSEM(date;2)<6) est non numérique
!

Il suffit de corriger de cette façon :
=SOMMEPROD(1*(JOURSEM(date;2)<6);heure)

ou simplement en utilisant un seul argument dans la fonction SP :
=SOMMEPROD((JOURSEM(date;2)<6)*heure)

Valider matriciellement SOMMEPROD est superfétatoire
AV




Avatar
JB
Bonjour,

=SOMME((B3:AF3="X")*(SI(ESTNUM($B$2:$AF$2);JOURSEM(DATE(ANNEE($A
$1);MOIS($A$1);B$2:AF$2);2)<6)))
Valider avec Maj+Ctrl+Entrée

JB


On 16 juin, 09:37, "François" wrote:
Bonjour à tous,

Encore une petite question pour le décompte hors WE que vous m'avez don né :

Dans l'exemple fourni, je mettais 0 dans la case du 31 juin qui n'est pas
valide.
J'ai mis la formule
SI(AE2="";"";SI(JOUR(DATE(ANNEE($A$1);MOIS($A$1);30)+1)<JOUR(DATE(ANNEE ($A$­1);MOIS($A$1);30));"";JOUR(AE2+1)))
, pour ne rien afficher sur ce jour non valide.
La formule marche très bien dans cette cellule, mais rend invalide la
fonction sommeprod de JB qui fait le décompte des jours cochés hors W E en
colonne AG. Je n'arrive pas à rectifier le tir, en employant la fonction
ESTNUM par exemple.
Cela bloque toujours !

Autre petite difficulté, pour toutes les cellules du tableau, j'ai mis une
MEFC pour colorer en ocre les samedis et dimanches.Cela fonctionne bien.
J'ai créé en AI2:AI12 un bloc de cellule nommé Holiday, et ai mis
fictivement en AI2 le 5 juin 2007 comme jour férié.
Mais la MEFC ne fonctionne pas pour les jours fériés, que ce soit en prenant
le nom comme référence ou la référence AI2 ?

Une idée ?
Voici le fichier en Cjoint :http://cjoint.com/?gqjLdk6PMI

Merci à tous pour votre aide

François

"AV" a écrit dans le message de news:
exCvmE%



Total heures jours ouvrés:
=SOMME(SI(JOURSEM(date;2)<6;heure))
Valider avec Maj+ctrl+entrée
http://boisgontierjacques.free.fr/fichiers/Matriciel/MatricielSommeJo...
Ne fonctionne pas si on remplace Somme() par SommeProd() avec
validation simple.

Ca marche très bien si on respecte la syntaxe :

=SOMMEPROD(JOURSEM(date;2)<6;heure)
Cette syntaxe (validée matriciellement ou pas) ne peut marcher car la
matrice générée par le test logique (JOURSEM(date;2)<6) est non numérique
!

Il suffit de corriger de cette façon :
=SOMMEPROD(1*(JOURSEM(date;2)<6);heure)

ou simplement en utilisant un seul argument dans la fonction SP :
=SOMMEPROD((JOURSEM(date;2)<6)*heure)

Valider matriciellement SOMMEPROD est superfétatoire
AV- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -



Avatar
alexandre-dit le jeune
Bonjour,
j'ai vu que vous avez eu des réponses mais pourquoi n'avez-vous pas mis
=NB.SI(B4:AE4;"X"), pour le nombre de jour quitté ? de la meme maniere vous
calculez les jours non travaillés avec les cases vides : =NB.SI(B4:AE4;"")
. Voila, cordialement,
Alexandre

"François" a écrit dans le message de
news:%
Voici le fichier :

http://cjoint.com/?gptnubzoFk

"alexandre-dit le jeune" a écrit dans le message
de news:
Bonjour,
je ne comprends pas très bien votre problème mais pouvez-vous envoyez
votre fichier par C-Joint ?
Cordialement,
Alexandre

"François" a écrit dans le message de
news:
Bonjour à tous,

J'ai un tableau avec de B1 à AF1, les numéros de jours du mois, et en
ordonné de A3 à A14 le nom de personnes.
(N.B. pour juin qui ne compte que 30 jours, la cellule AF3 est alors
vide...)
Lorsqu'une personne part en vacances, je mets manuellement un"X" sur la
ligne du salarié, à toutes les dates de non présence...
Enfin, de AG3 à AG14, j'ai le total des jours de congés pris par chaque
personne.
La formule NBVAL(B3:AF3) me donne ce résultat. Sans problème.

Mais je n'arrive pas à trouver la formule qui me permette d'exclure de
ce calcul les samedis et les dimanches ?
J'ai essayé :
=NB.SI(B3:AF3;JOURSEM(DATE(ANNEE($A$1);MOIS($A$1);B$2:AF$2);2)>5)
(N.B. j'ai en A1 un jour quelquonque du mois considéré, le 06/06/07 par
exemple)
par exemple). Mais cela ne détecte aucun X (résultat = 0). Quid de
prendre en compte le côté samedi ou dimanche !
J'ai essayé :
=SOMMEPROD((B3:AF3="X")*(JOURSEM(DATE(ANNEE($A$1);MOIS($A$1);B$2:AF$2);2)>5))
Même résultat erroné !
Le fait de rajouter *1 à la fin ne change rien à l'affaire.

Où est mon erreur ?
Dois-je recourrir à une formule matricielle (plus lourde!) ?

Merci à tous

François













Avatar
François
Merci JB,

Mais il doit y avoir une erreur dans la formule car quand je le mets dans la
cellule, Excel (2000) refuse de me valider la formule ?

Peut-être était-ce sommeprod et non somme ?
Je l'ai modifié mais cela ne marche pas non plus.
J'ai essayé aussi
NB.SI(B3:AF3;ET(B3:AF3="X";ESTNUM(B$2:AF$2);JOURSEM(DATE(ANNEE($A$1);MOIS($A$1);B$2:AF$2);2)<6))
mais cela me donne à tord 0 comme résultat, alors que ...

François


"JB" a écrit dans le message de news:

Bonjour,

=SOMME((B3:AF3="X")*(SI(ESTNUM($B$2:$AF$2);JOURSEM(DATE(ANNEE($A
$1);MOIS($A$1);B$2:AF$2);2)<6)))
Valider avec Maj+Ctrl+Entrée

JB


On 16 juin, 09:37, "François" wrote:
Bonjour à tous,

Encore une petite question pour le décompte hors WE que vous m'avez donné
:

Dans l'exemple fourni, je mettais 0 dans la case du 31 juin qui n'est pas
valide.
J'ai mis la formule
SI(AE2="";"";SI(JOUR(DATE(ANNEE($A$1);MOIS($A$1);30)+1)<JOUR(DATE(ANNEE($A$­1);MOIS($A$1);30));"";JOUR(AE2+1)))
, pour ne rien afficher sur ce jour non valide.
La formule marche très bien dans cette cellule, mais rend invalide la
fonction sommeprod de JB qui fait le décompte des jours cochés hors WE en
colonne AG. Je n'arrive pas à rectifier le tir, en employant la fonction
ESTNUM par exemple.
Cela bloque toujours !

Autre petite difficulté, pour toutes les cellules du tableau, j'ai mis une
MEFC pour colorer en ocre les samedis et dimanches.Cela fonctionne bien.
J'ai créé en AI2:AI12 un bloc de cellule nommé Holiday, et ai mis
fictivement en AI2 le 5 juin 2007 comme jour férié.
Mais la MEFC ne fonctionne pas pour les jours fériés, que ce soit en
prenant
le nom comme référence ou la référence AI2 ?

Une idée ?
Voici le fichier en Cjoint :http://cjoint.com/?gqjLdk6PMI

Merci à tous pour votre aide

François

"AV" a écrit dans le message de news:
exCvmE%



Total heures jours ouvrés:
=SOMME(SI(JOURSEM(date;2)<6;heure))
Valider avec Maj+ctrl+entrée
http://boisgontierjacques.free.fr/fichiers/Matriciel/MatricielSommeJo...
Ne fonctionne pas si on remplace Somme() par SommeProd() avec
validation simple.

Ca marche très bien si on respecte la syntaxe :

=SOMMEPROD(JOURSEM(date;2)<6;heure)
Cette syntaxe (validée matriciellement ou pas) ne peut marcher car la
matrice générée par le test logique (JOURSEM(date;2)<6) est non
numérique
!

Il suffit de corriger de cette façon :
=SOMMEPROD(1*(JOURSEM(date;2)<6);heure)

ou simplement en utilisant un seul argument dans la fonction SP :
=SOMMEPROD((JOURSEM(date;2)<6)*heure)

Valider matriciellement SOMMEPROD est superfétatoire
AV- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -



Avatar
JB
http://cjoint.com/?gqpiVXcXLo

JB

On 16 juin, 14:16, "François" wrote:
Merci JB,

Mais il doit y avoir une erreur dans la formule car quand je le mets dans la
cellule, Excel (2000) refuse de me valider la formule ?

Peut-être était-ce sommeprod et non somme ?
Je l'ai modifié mais cela ne marche pas non plus.
J'ai essayé aussi
NB.SI(B3:AF3;ET(B3:AF3="X";ESTNUM(B$2:AF$2);JOURSEM(DATE(ANNEE($A$1);MO IS($­A$1);B$2:AF$2);2)<6))
mais cela me donne à tord 0 comme résultat, alors que ...

François

"JB" a écrit dans le message de news:

Bonjour,

=SOMME((B3:AF3="X")*(SI(ESTNUM($B$2:$AF$2);JOURSEM(DATE(ANNEE($A
$1);MOIS($A$1);B$2:AF$2);2)<6)))
Valider avec Maj+Ctrl+Entrée

JB

On 16 juin, 09:37, "François" wrote:



Bonjour à tous,

Encore une petite question pour le décompte hors WE que vous m'avez d onné
:

Dans l'exemple fourni, je mettais 0 dans la case du 31 juin qui n'est p as
valide.
J'ai mis la formule
SI(AE2="";"";SI(JOUR(DATE(ANNEE($A$1);MOIS($A$1);30)+1)<JOUR(DATE(ANN EE($A$­­1);MOIS($A$1);30));"";JOUR(AE2+1)))
, pour ne rien afficher sur ce jour non valide.
La formule marche très bien dans cette cellule, mais rend invalide la
fonction sommeprod de JB qui fait le décompte des jours cochés hors WE en
colonne AG. Je n'arrive pas à rectifier le tir, en employant la fonct ion
ESTNUM par exemple.
Cela bloque toujours !

Autre petite difficulté, pour toutes les cellules du tableau, j'ai mi s une
MEFC pour colorer en ocre les samedis et dimanches.Cela fonctionne bien.
J'ai créé en AI2:AI12 un bloc de cellule nommé Holiday, et ai mis
fictivement en AI2 le 5 juin 2007 comme jour férié.
Mais la MEFC ne fonctionne pas pour les jours fériés, que ce soit en
prenant
le nom comme référence ou la référence AI2 ?

Une idée ?
Voici le fichier en Cjoint :http://cjoint.com/?gqjLdk6PMI

Merci à tous pour votre aide

François

"AV" a écrit dans le message de news:
exCvmE%

Total heures jours ouvrés:
=SOMME(SI(JOURSEM(date;2)<6;heure))
Valider avec Maj+ctrl+entrée
http://boisgontierjacques.free.fr/fichiers/Matriciel/MatricielSommeJo. ..
Ne fonctionne pas si on remplace Somme() par SommeProd() avec
validation simple.

Ca marche très bien si on respecte la syntaxe :

=SOMMEPROD(JOURSEM(date;2)<6;heure)
Cette syntaxe (validée matriciellement ou pas) ne peut marcher car la
matrice générée par le test logique (JOURSEM(date;2)<6) est non
numérique
!

Il suffit de corriger de cette façon :
=SOMMEPROD(1*(JOURSEM(date;2)<6);heure)

ou simplement en utilisant un seul argument dans la fonction SP :
=SOMMEPROD((JOURSEM(date;2)<6)*heure)

Valider matriciellement SOMMEPROD est superfétatoire
AV- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -




Avatar
François
Bonjour JB,

Merci beaucoup (avec un petit retard !) pour ton aide

Clea marche parfaitement

Bonne journée à toi

François

"JB" a écrit dans le message de news:


http://cjoint.com/?gqpiVXcXLo

JB

On 16 juin, 14:16, "François" wrote:
Merci JB,

Mais il doit y avoir une erreur dans la formule car quand je le mets dans
la
cellule, Excel (2000) refuse de me valider la formule ?

Peut-être était-ce sommeprod et non somme ?
Je l'ai modifié mais cela ne marche pas non plus.
J'ai essayé aussi
NB.SI(B3:AF3;ET(B3:AF3="X";ESTNUM(B$2:AF$2);JOURSEM(DATE(ANNEE($A$1);MOIS($­A$1);B$2:AF$2);2)<6))
mais cela me donne à tord 0 comme résultat, alors que ...

François

"JB" a écrit dans le message de news:

Bonjour,

=SOMME((B3:AF3="X")*(SI(ESTNUM($B$2:$AF$2);JOURSEM(DATE(ANNEE($A
$1);MOIS($A$1);B$2:AF$2);2)<6)))
Valider avec Maj+Ctrl+Entrée

JB

On 16 juin, 09:37, "François" wrote:



Bonjour à tous,

Encore une petite question pour le décompte hors WE que vous m'avez
donné
:

Dans l'exemple fourni, je mettais 0 dans la case du 31 juin qui n'est
pas
valide.
J'ai mis la formule
SI(AE2="";"";SI(JOUR(DATE(ANNEE($A$1);MOIS($A$1);30)+1)<JOUR(DATE(ANNEE($A$­­1);MOIS($A$1);30));"";JOUR(AE2+1)))
, pour ne rien afficher sur ce jour non valide.
La formule marche très bien dans cette cellule, mais rend invalide la
fonction sommeprod de JB qui fait le décompte des jours cochés hors WE
en
colonne AG. Je n'arrive pas à rectifier le tir, en employant la fonction
ESTNUM par exemple.
Cela bloque toujours !

Autre petite difficulté, pour toutes les cellules du tableau, j'ai mis
une
MEFC pour colorer en ocre les samedis et dimanches.Cela fonctionne bien.
J'ai créé en AI2:AI12 un bloc de cellule nommé Holiday, et ai mis
fictivement en AI2 le 5 juin 2007 comme jour férié.
Mais la MEFC ne fonctionne pas pour les jours fériés, que ce soit en
prenant
le nom comme référence ou la référence AI2 ?

Une idée ?
Voici le fichier en Cjoint :http://cjoint.com/?gqjLdk6PMI

Merci à tous pour votre aide

François

"AV" a écrit dans le message de news:
exCvmE%

Total heures jours ouvrés:
=SOMME(SI(JOURSEM(date;2)<6;heure))
Valider avec Maj+ctrl+entrée
http://boisgontierjacques.free.fr/fichiers/Matriciel/MatricielSommeJo...
Ne fonctionne pas si on remplace Somme() par SommeProd() avec
validation simple.

Ca marche très bien si on respecte la syntaxe :

=SOMMEPROD(JOURSEM(date;2)<6;heure)
Cette syntaxe (validée matriciellement ou pas) ne peut marcher car la
matrice générée par le test logique (JOURSEM(date;2)<6) est non
numérique
!

Il suffit de corriger de cette façon :
=SOMMEPROD(1*(JOURSEM(date;2)<6);heure)

ou simplement en utilisant un seul argument dans la fonction SP :
=SOMMEPROD((JOURSEM(date;2)<6)*heure)

Valider matriciellement SOMMEPROD est superfétatoire
AV- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte des
messages précédents -


- Afficher le texte des messages précédents -




Avatar
François
Bonjour,

C'est ce que j'avais mis initialement,
mais si je veux avoir le comptage des seuls jours ouvrés marqués d'un X,
cette formule devient insuffisante !
et JB m'a aidé à trouver ce que je n'arrivais pas à faire ...

François

"alexandre-dit le jeune" a écrit dans le message de
news:
Bonjour,
j'ai vu que vous avez eu des réponses mais pourquoi n'avez-vous pas mis
=NB.SI(B4:AE4;"X"), pour le nombre de jour quitté ? de la meme maniere
vous calculez les jours non travaillés avec les cases vides :
=NB.SI(B4:AE4;"")
. Voila, cordialement,
Alexandre

"François" a écrit dans le message de
news:%
Voici le fichier :

http://cjoint.com/?gptnubzoFk

"alexandre-dit le jeune" a écrit dans le message
de news:
Bonjour,
je ne comprends pas très bien votre problème mais pouvez-vous envoyez
votre fichier par C-Joint ?
Cordialement,
Alexandre

"François" a écrit dans le message de
news:
Bonjour à tous,

J'ai un tableau avec de B1 à AF1, les numéros de jours du mois, et en
ordonné de A3 à A14 le nom de personnes.
(N.B. pour juin qui ne compte que 30 jours, la cellule AF3 est alors
vide...)
Lorsqu'une personne part en vacances, je mets manuellement un"X" sur la
ligne du salarié, à toutes les dates de non présence...
Enfin, de AG3 à AG14, j'ai le total des jours de congés pris par chaque
personne.
La formule NBVAL(B3:AF3) me donne ce résultat. Sans problème.

Mais je n'arrive pas à trouver la formule qui me permette d'exclure de
ce calcul les samedis et les dimanches ?
J'ai essayé :
=NB.SI(B3:AF3;JOURSEM(DATE(ANNEE($A$1);MOIS($A$1);B$2:AF$2);2)>5)
(N.B. j'ai en A1 un jour quelquonque du mois considéré, le 06/06/07 par
exemple)
par exemple). Mais cela ne détecte aucun X (résultat = 0). Quid de
prendre en compte le côté samedi ou dimanche !
J'ai essayé :
=SOMMEPROD((B3:AF3="X")*(JOURSEM(DATE(ANNEE($A$1);MOIS($A$1);B$2:AF$2);2)>5))
Même résultat erroné !
Le fait de rajouter *1 à la fin ne change rien à l'affaire.

Où est mon erreur ?
Dois-je recourrir à une formule matricielle (plus lourde!) ?

Merci à tous

François
















1 2 3