Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Férié WE hors T

49 réponses
Avatar
Manu
Bonjour,

Malgrés deja toute l'aide apporter par diverses personnes dont Daniel,
Misange, Sam..., je ne m'en sort pas encore totalement.

J'espere y parvenir à condition de réussir cette formule avec laquelle je
galere et que je vous détail sur le cijoint (ce sera + clair). Merci pour
toutes aides, j'en ai besoin.
http://www.cijoint.fr/cjlink.php?file=cj201004/cijmesyLSw.xls
Merci

Manu

10 réponses

1 2 3 4 5
Avatar
Misange
donc in fine : dans la définition de mesdates et mescodes, utilise ceci
=INDIRECT("C" & EQUIV(JT!$E$8;RECAP!$B:$B;0) & ":C" &
EQUIV(JT!$E$9;RECAP!$B:$B;0))

et en fait on se fout des années bissextiles avec cette solution

Misange migrateuse
http://www.excelabo.net


Manu a écrit :
Tu as raison Misange, désolé pour ces changements de Ref, su le fichier
ci-dessous en esperant qu'il puisse s'ouvrir, j'ai adapté ta methode ainsi
que celle de denis dans la feuil recap. Le resultat me donne tjrs un
resultat vide, je pense que ce doit etre une mini erreur de ma part, mais
impossible à trouver.
Avec ce fichier exemple et adapté, j'epere que vous pourrez me stipuler mon
erreur. Merci
http://www.cijoint.fr/cjlink.php?file=cj201004/cijPwWyMbF.xls
Manu

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

Manu, si tu passes ton temps à changer les références dans les exemples
que tu donnes, tu ne nous simplifies pas le boulot !!!
de toutes façons je ne peux pas ouvrir ton classeur, excel y trouve un
contenu illisible.

A toi de comprendre (ou pas mais dans ce cas la demande des explications)
les formules qu'on te propose et de les adapter.
Misange migrateuse
http://www.excelabo.net


Manu a écrit :
Ci joint le fichier, la formule se situe en C380 feuil Recap, bizarre,
car je pense ne pas avoir loupé quoi que ce soit.
http://www.cijoint.fr/cjlink.php?file=cj201004/cijGld5maK.xls
Merci

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

Je ne pige pas mon erreur,

Voici ce que j'ai mis comme Nom à adrD et adrJ
adrD :
­RESSE(EQUIV('JT'!$E$8;RECAP!$B$11:$B$376;1);2)&":"&ADRESSE(EQUIV('JT'!$E$9;RECAP!$B$11:$B$376;1);2)
adrJ :
­RESSE(EQUIV('JT'!$E$8;RECAP!$B$11:$B$376;1);3)&":"&ADRESSE(EQUIV('JT'!$E$9;RECAP!$B$11:$B$376;1);3)

Mes dates criteres sont dans la feuil JT en E8 et E9
Mes dates de recherches sont dans la feuil RECAP de B11 à B376
et les recherches de PP ; KK ; RR ..... se trouvent de C11 à C376

Et la formule de Denis, je l'ai placé sur la feuil RECAP en C380 :
=SOMME(SI(ESTNUM(EQUIV(INDIRECT(adrD);JOURS_feries;0))*(JOURSEM(INDIRECT(adrD);2)>5)*(INDIRECT(adrJ)={"PP"."KK"."AA"."RR"});1))

Mes jours fériés sont sur une autre feuil mais nommé : JOURS_feries

J'ai vraiment le sentiment de n'avoir fait aucune erreur et pourtant si
je met PP le samedi 25 decembre 2010, le resultat est vide. la formule
ne me renvoie un code erreur, mais me donne un resultat vide

Avez vous une idée ?

Merci

Manu

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

| inclure cette notion de choix des dates de facon
| que si je change de dates, la formules fonctionnes
| entre ces 2 dates.

Suppose que tu conserves ces 2 mêmes cellules pour faire
ton calcul mais que tu veuilles modifier les dates.

A ) Crée 2 noms (insertion / nom / définir
Nom 1 = AdrD pour la colonne des dates
Fait référence à :
­RESSE(EQUIV($E$11;$A:$A;1);1)&":"&ADRESSE(EQUIV($E$12;$A:$A;1);1)
La formule suivante suppose que tes dates sont en ordre croissant à
cause de:
du "1" dans EQUIV($E$11;$A:$A;1). Le traitement est plus rapide.

Nom 2 = AdrJ Pour la colonne des jours "B:B"
Fait référence à
­RESSE(EQUIV($E$11;$A:$A;1);2)&":"&ADRESSE(EQUIV($E$12;$A:$A;1);2)

Maintenant tu insères ces 2 noms dans ta formule générale :

Validation Matricielle : Maj + Ctrl + Enter
=SOMME(SI(ESTNUM(EQUIV(INDIRECT(AdrD);G2:G8;0))*(JOURSEM(INDIRECT(AdrD);2)>5)*(INDIRECT(AdrJ)={"PP"."PL"."OP"."KK"."SS"."OO"."GG"."BBB"."ZZ"."EE"."YY"."MM"."RR"});1))

Voilà.



"Manu" a écrit dans le message de groupe de
discussion :
#
Genial, ca fonctionne impec, et je vous avoue que je n'ais pas tout
saisi
surtout cette partie de la formule :
SI(ESTNUM(EQUIV(A2:A25;G2:G8;0))*(JOURSEM(A2:A25;2)>5

il faut juste desoramais inclure cette notion de choix des dates de
facon
que si je change de dates, la formules fonctionnes entre ces 2 dates.

C'est deja un super avancement,

merci encore

Manu

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

Si tu veux faire un peu plus court :

Validation matricielle :
=SOMME(SI(ESTNUM(EQUIV(A2:A25;G2:G8;0))*(JOURSEM(A2:A25;2)>5)*(B2:B25={"PP"."PL"."OP"."KK"."SS"."OO"."GG"."BBB"."ZZ"."EE"."YY"."MM"."RR"});1))

Je ne sais si PP.PL .... la liste est exhaustive !



"michdenis" a écrit dans le message de groupe
de
discussion :
#
Validation matricielle : Ctrl + Maj + Enter

Ta formule est longue parce que logiguement on ne peut difficilement
utiliser en même temps <>"T" et <>""
La formule calcule d'abord <>"" et soustrait <>"T"

=SOMME(SI(ESTNUM(EQUIV(A2:A25;G2:G8;0))*(JOURSEM(A2:A25;2)>5)*(B2:B25<>"");1))-SOMME(SI(ESTNUM(EQUIV(A2:A25;G2:G8;0))*(JOURSEM(A2:A25;2)>5)*(B2:B25="T");1))



"Manu" a écrit dans le message de groupe de
discussion :
e0#
Ben... désolé,

Je suppose que c'etait en matrice, je l'ai testé ainsi et si je
supprime
tout le texte en colonne B et que je tape EEE en B2 il me donne un
resultat
de 3

J'ai testé la formule en normal et là quoi que je fasse le resultat
est
tjrs
egal à 0

Manu

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

Essaie cette formule et on en parle plus ;-))

=SI(NBCAR($B$2:$B$25)>0;SOMME(SI(ESTNUM(EQUIV($A$2:$A$25;$G$2:$G$8;0))*(JOURSEM($A$2:$A$25;2)>5)*($B$2:$B$25<>"T");1));0)



"Manu" a écrit dans le message de groupe de
discussion :

Bonjour Michdenis,

Ca ne fonctionne pas, car meme si je supprime tout ce qui est colonne
B,
la
formule trouve toujours 3

Le but etant de compter les cellules pleine de la col B hormis si
c'est
un
T
et qui soit un jour férié et qui tombe un samedi / dimanche entre le
critere
de date stipulé en E11:E12 (ces dates seront bien sur variable).

Manu


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

Bonjour,

En supposant que j'ai compris ton problème, la formule
serait :

Validation matricielle : Ctrl + Maj + Enter
=SOMME(SI(ESTNUM(EQUIV(A2:A25;G2:G8;0))*(JOURSEM(A2:A25;2)>5)*(B2:B25<>"T");1))



"Manu" a écrit dans le message de groupe
de
discussion :
#
Bonjour,

Malgrés deja toute l'aide apporter par diverses personnes dont
Daniel,
Misange, Sam..., je ne m'en sort pas encore totalement.

J'espere y parvenir à condition de réussir cette formule avec
laquelle
je
galere et que je vous détail sur le cijoint (ce sera + clair). Merci
pour
toutes aides, j'en ai besoin.
http://www.cijoint.fr/cjlink.php?file=cj201004/cijmesyLSw.xls
Merci

Manu
















Avatar
Manu
Est ce que ca signifie que je devrais faire :
=equiv(datecherchée;touteslesdates;0)+11 ?

Pour le nombre de personnes ca peut s'arranger facilement et ca peut se
tirer vers la droite avec la methode de denis en faisant pour adrJ :

j'ai remplacé
­RESSE(EQUIV(JT!$E$8;RECAP!$B$11:$B$375;1);3)&":"&ADRESSE(EQUIV(JT!$E$9;RECAP!$B$11:$B$375;1);3)
par :
­RESSE(EQUIV(JT!$E$8;RECAP!$B$11:$B$375;1);RECAP!C381)&":"&ADRESSE(EQUIV(JT!$E$9;RECAP!$B$11:$B$375;1);RECAP!C381)

J'ai tapé en C381 : 3
D381 : 4
etc... ainsi l'adressage de adrJ peut coller

Pour la tienne, je comptais remplacer mescodes : =INDIRECT("C" &
EQUIV(JT!$E$8;RECAP!$B$11:$B$375;0) & ":C" &
EQUIV(JT!$E$9;RECAP!$B$11:$B$375;0))
par des lettre en ligne 382 ce qui donnerais : =INDIRECT(C382 &
EQUIV(JT!$E$8;RECAP!$B$11:$B$375;0) & ":"&C382 &
EQUIV(JT!$E$9;RECAP!$B$11:$B$375;0))

En revanche il est vrai que je n'ais absolument pas pensé à l'hypothese du
08 mai et le jeudi de l'ascension si ils tombent le même jour, mais je ne
vois pas où ca peut me gener car je ne souhaite compter que les cellules
pleines tombant un jour ferié tombant un samedi et dimanche, le jeudi de
l'ascension tombant tjrs un jeudi, je ne suis pas concerné.

Manu


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

Tu as loupé pas mal de choses en fait :-)
la fonction equiv te renvoie la position d'un item dans un tableau.
Dans le cas présent, si tu veux utiliser cette position pour la
transformer en adresse, il faut absolument que tu tiennes compte de
l'organisation de tes données. Dans ta feuille récap, tes dates démarrent
à la ligne 11
si tu fait =equiv(datecherchée;touteslesdates;0) ca va te renvoyer par
exemple 1 pour le premier janvier. MAis l'adresse de cette cellule n'est
pas B1 mais B12 car la première ligne de ton tableau démarre en 12 !

donc ce qui débloque c'est la définition de tes noms, pas les formules.
Par ailleurs tu nous as donné un exemple ou il n'y avait qu'une personne.
Voilà maintenant qu'il y en a plein. La formule (la mienne ou celle de
Denis d'ailleurs) telle qu'elle est écrite n'est pas "tirable" vers la
droite puisque mescodes (ou l'équivalent pour Denis) fait référence
explicitement à la colonne C qui est celle de Titi.

Tu as encore oublié de gérer une situation qui ne se présente pas tous les
ans mais qui est bien réelle : que se passe-t-il quand le 8 mai et le
jeudi de l'ascension tombent le même jour ?

Misange migrateuse
http://www.excelabo.net


Manu a écrit :
Tu as raison Misange, désolé pour ces changements de Ref, su le fichier
ci-dessous en esperant qu'il puisse s'ouvrir, j'ai adapté ta methode
ainsi que celle de denis dans la feuil recap. Le resultat me donne tjrs
un resultat vide, je pense que ce doit etre une mini erreur de ma part,
mais impossible à trouver.
Avec ce fichier exemple et adapté, j'epere que vous pourrez me stipuler
mon erreur. Merci
http://www.cijoint.fr/cjlink.php?file=cj201004/cijPwWyMbF.xls
Manu

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

Manu, si tu passes ton temps à changer les références dans les exemples
que tu donnes, tu ne nous simplifies pas le boulot !!!
de toutes façons je ne peux pas ouvrir ton classeur, excel y trouve un
contenu illisible.

A toi de comprendre (ou pas mais dans ce cas la demande des
explications) les formules qu'on te propose et de les adapter.
Misange migrateuse
http://www.excelabo.net


Manu a écrit :
Ci joint le fichier, la formule se situe en C380 feuil Recap, bizarre,
car je pense ne pas avoir loupé quoi que ce soit.
http://www.cijoint.fr/cjlink.php?file=cj201004/cijGld5maK.xls
Merci

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

Je ne pige pas mon erreur,

Voici ce que j'ai mis comme Nom à adrD et adrJ
adrD :
­RESSE(EQUIV('JT'!$E$8;RECAP!$B$11:$B$376;1);2)&":"&ADRESSE(EQUIV('JT'!$E$9;RECAP!$B$11:$B$376;1);2)
adrJ :
­RESSE(EQUIV('JT'!$E$8;RECAP!$B$11:$B$376;1);3)&":"&ADRESSE(EQUIV('JT'!$E$9;RECAP!$B$11:$B$376;1);3)

Mes dates criteres sont dans la feuil JT en E8 et E9
Mes dates de recherches sont dans la feuil RECAP de B11 à B376
et les recherches de PP ; KK ; RR ..... se trouvent de C11 à C376

Et la formule de Denis, je l'ai placé sur la feuil RECAP en C380 :
=SOMME(SI(ESTNUM(EQUIV(INDIRECT(adrD);JOURS_feries;0))*(JOURSEM(INDIRECT(adrD);2)>5)*(INDIRECT(adrJ)={"PP"."KK"."AA"."RR"});1))

Mes jours fériés sont sur une autre feuil mais nommé : JOURS_feries

J'ai vraiment le sentiment de n'avoir fait aucune erreur et pourtant
si je met PP le samedi 25 decembre 2010, le resultat est vide. la
formule ne me renvoie un code erreur, mais me donne un resultat vide

Avez vous une idée ?

Merci

Manu

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

| inclure cette notion de choix des dates de facon
| que si je change de dates, la formules fonctionnes
| entre ces 2 dates.

Suppose que tu conserves ces 2 mêmes cellules pour faire
ton calcul mais que tu veuilles modifier les dates.

A ) Crée 2 noms (insertion / nom / définir
Nom 1 = AdrD pour la colonne des dates
Fait référence à :
­RESSE(EQUIV($E$11;$A:$A;1);1)&":"&ADRESSE(EQUIV($E$12;$A:$A;1);1)
La formule suivante suppose que tes dates sont en ordre croissant à
cause de:
du "1" dans EQUIV($E$11;$A:$A;1). Le traitement est plus rapide.

Nom 2 = AdrJ Pour la colonne des jours "B:B"
Fait référence à
­RESSE(EQUIV($E$11;$A:$A;1);2)&":"&ADRESSE(EQUIV($E$12;$A:$A;1);2)

Maintenant tu insères ces 2 noms dans ta formule générale :

Validation Matricielle : Maj + Ctrl + Enter
=SOMME(SI(ESTNUM(EQUIV(INDIRECT(AdrD);G2:G8;0))*(JOURSEM(INDIRECT(AdrD);2)>5)*(INDIRECT(AdrJ)={"PP"."PL"."OP"."KK"."SS"."OO"."GG"."BBB"."ZZ"."EE"."YY"."MM"."RR"});1))

Voilà.



"Manu" a écrit dans le message de groupe de
discussion :
#
Genial, ca fonctionne impec, et je vous avoue que je n'ais pas tout
saisi
surtout cette partie de la formule :
SI(ESTNUM(EQUIV(A2:A25;G2:G8;0))*(JOURSEM(A2:A25;2)>5

il faut juste desoramais inclure cette notion de choix des dates de
facon
que si je change de dates, la formules fonctionnes entre ces 2 dates.

C'est deja un super avancement,

merci encore

Manu

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

Si tu veux faire un peu plus court :

Validation matricielle :
=SOMME(SI(ESTNUM(EQUIV(A2:A25;G2:G8;0))*(JOURSEM(A2:A25;2)>5)*(B2:B25={"PP"."PL"."OP"."KK"."SS"."OO"."GG"."BBB"."ZZ"."EE"."YY"."MM"."RR"});1))

Je ne sais si PP.PL .... la liste est exhaustive !



"michdenis" a écrit dans le message de
groupe de
discussion :
#
Validation matricielle : Ctrl + Maj + Enter

Ta formule est longue parce que logiguement on ne peut difficilement
utiliser en même temps <>"T" et <>""
La formule calcule d'abord <>"" et soustrait <>"T"

=SOMME(SI(ESTNUM(EQUIV(A2:A25;G2:G8;0))*(JOURSEM(A2:A25;2)>5)*(B2:B25<>"");1))-SOMME(SI(ESTNUM(EQUIV(A2:A25;G2:G8;0))*(JOURSEM(A2:A25;2)>5)*(B2:B25="T");1))



"Manu" a écrit dans le message de groupe
de
discussion :
e0#
Ben... désolé,

Je suppose que c'etait en matrice, je l'ai testé ainsi et si je
supprime
tout le texte en colonne B et que je tape EEE en B2 il me donne un
resultat
de 3

J'ai testé la formule en normal et là quoi que je fasse le resultat
est
tjrs
egal à 0

Manu

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

Essaie cette formule et on en parle plus ;-))

=SI(NBCAR($B$2:$B$25)>0;SOMME(SI(ESTNUM(EQUIV($A$2:$A$25;$G$2:$G$8;0))*(JOURSEM($A$2:$A$25;2)>5)*($B$2:$B$25<>"T");1));0)



"Manu" a écrit dans le message de groupe
de
discussion :

Bonjour Michdenis,

Ca ne fonctionne pas, car meme si je supprime tout ce qui est
colonne B,
la
formule trouve toujours 3

Le but etant de compter les cellules pleine de la col B hormis si
c'est
un
T
et qui soit un jour férié et qui tombe un samedi / dimanche entre
le
critere
de date stipulé en E11:E12 (ces dates seront bien sur variable).

Manu


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

Bonjour,

En supposant que j'ai compris ton problème, la formule
serait :

Validation matricielle : Ctrl + Maj + Enter
=SOMME(SI(ESTNUM(EQUIV(A2:A25;G2:G8;0))*(JOURSEM(A2:A25;2)>5)*(B2:B25<>"T");1))



"Manu" a écrit dans le message de groupe
de
discussion :
#
Bonjour,

Malgrés deja toute l'aide apporter par diverses personnes dont
Daniel,
Misange, Sam..., je ne m'en sort pas encore totalement.

J'espere y parvenir à condition de réussir cette formule avec
laquelle
je
galere et que je vous détail sur le cijoint (ce sera + clair).
Merci
pour
toutes aides, j'en ai besoin.
http://www.cijoint.fr/cjlink.php?file=cj201004/cijmesyLSw.xls
Merci

Manu
















Avatar
Misange
Pour adapter à la colonne, plutot que de mettre le N° de la colonne dans
une cellule comme tu l'as fait, utilise soit colonne() qui te le renvoie
directement soit, pour récupérer la lettre de la colonne, utilise ceci
=GAUCHE(ADRESSE(1;COLONNE();4);NBCAR(ADRESSE(1;COL ONNE();4))-1)

avec cette dernière soluce, "ma" def de mescodes devient:

=INDIRECT(GAUCHE(ADRESSE(1;COLONNE();4);NBCAR(ADRESSE(1;COLONNE();4))-1)
& EQUIV(JT!$E$8;RECAP!$B:$B;0) & ":" &
GAUCHE(ADRESSE(1;COLONNE();4);NBCAR(ADRESSE(1;COLONNE();4))-1) &
EQUIV(JT!$E$9;RECAP!$B:$B;0))

il ne te reste plus qu'à la tirer vers la droite et ça marche. (ouf !!)
après c'est comme tu veux t'y choises !

Misange migrateuse
http://www.excelabo.net


Manu a écrit :
Est ce que ca signifie que je devrais faire :
=equiv(datecherchée;touteslesdates;0)+11 ?

Pour le nombre de personnes ca peut s'arranger facilement et ca peut se
tirer vers la droite avec la methode de denis en faisant pour adrJ :

j'ai remplacé
­RESSE(EQUIV(JT!$E$8;RECAP!$B$11:$B$375;1);3)&":"&ADRESSE(EQUIV(JT!$E$9;RECAP!$B$11:$B$375;1);3)
par :
­RESSE(EQUIV(JT!$E$8;RECAP!$B$11:$B$375;1);RECAP!C381)&":"&ADRESSE(EQUIV(JT!$E$9;RECAP!$B$11:$B$375;1);RECAP!C381)

J'ai tapé en C381 : 3
D381 : 4
etc... ainsi l'adressage de adrJ peut coller

Pour la tienne, je comptais remplacer mescodes : =INDIRECT("C" &
EQUIV(JT!$E$8;RECAP!$B$11:$B$375;0) & ":C" &
EQUIV(JT!$E$9;RECAP!$B$11:$B$375;0))
par des lettre en ligne 382 ce qui donnerais : =INDIRECT(C382 &
EQUIV(JT!$E$8;RECAP!$B$11:$B$375;0) & ":"&C382 &
EQUIV(JT!$E$9;RECAP!$B$11:$B$375;0))

En revanche il est vrai que je n'ais absolument pas pensé à l'hypothese du
08 mai et le jeudi de l'ascension si ils tombent le même jour, mais je ne
vois pas où ca peut me gener car je ne souhaite compter que les cellules
pleines tombant un jour ferié tombant un samedi et dimanche, le jeudi de
l'ascension tombant tjrs un jeudi, je ne suis pas concerné.

Manu


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

Tu as loupé pas mal de choses en fait :-)
la fonction equiv te renvoie la position d'un item dans un tableau.
Dans le cas présent, si tu veux utiliser cette position pour la
transformer en adresse, il faut absolument que tu tiennes compte de
l'organisation de tes données. Dans ta feuille récap, tes dates démarrent
à la ligne 11
si tu fait =equiv(datecherchée;touteslesdates;0) ca va te renvoyer par
exemple 1 pour le premier janvier. MAis l'adresse de cette cellule n'est
pas B1 mais B12 car la première ligne de ton tableau démarre en 12 !

donc ce qui débloque c'est la définition de tes noms, pas les formules.
Par ailleurs tu nous as donné un exemple ou il n'y avait qu'une personne.
Voilà maintenant qu'il y en a plein. La formule (la mienne ou celle de
Denis d'ailleurs) telle qu'elle est écrite n'est pas "tirable" vers la
droite puisque mescodes (ou l'équivalent pour Denis) fait référence
explicitement à la colonne C qui est celle de Titi.

Tu as encore oublié de gérer une situation qui ne se présente pas tous les
ans mais qui est bien réelle : que se passe-t-il quand le 8 mai et le
jeudi de l'ascension tombent le même jour ?

Misange migrateuse
http://www.excelabo.net


Manu a écrit :
Tu as raison Misange, désolé pour ces changements de Ref, su le fichier
ci-dessous en esperant qu'il puisse s'ouvrir, j'ai adapté ta methode
ainsi que celle de denis dans la feuil recap. Le resultat me donne tjrs
un resultat vide, je pense que ce doit etre une mini erreur de ma part,
mais impossible à trouver.
Avec ce fichier exemple et adapté, j'epere que vous pourrez me stipuler
mon erreur. Merci
http://www.cijoint.fr/cjlink.php?file=cj201004/cijPwWyMbF.xls
Manu

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

Manu, si tu passes ton temps à changer les références dans les exemples
que tu donnes, tu ne nous simplifies pas le boulot !!!
de toutes façons je ne peux pas ouvrir ton classeur, excel y trouve un
contenu illisible.

A toi de comprendre (ou pas mais dans ce cas la demande des
explications) les formules qu'on te propose et de les adapter.
Misange migrateuse
http://www.excelabo.net


Manu a écrit :
Ci joint le fichier, la formule se situe en C380 feuil Recap, bizarre,
car je pense ne pas avoir loupé quoi que ce soit.
http://www.cijoint.fr/cjlink.php?file=cj201004/cijGld5maK.xls
Merci

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

Je ne pige pas mon erreur,

Voici ce que j'ai mis comme Nom à adrD et adrJ
adrD :
­RESSE(EQUIV('JT'!$E$8;RECAP!$B$11:$B$376;1);2)&":"&ADRESSE(EQUIV('JT'!$E$9;RECAP!$B$11:$B$376;1);2)
adrJ :
­RESSE(EQUIV('JT'!$E$8;RECAP!$B$11:$B$376;1);3)&":"&ADRESSE(EQUIV('JT'!$E$9;RECAP!$B$11:$B$376;1);3)

Mes dates criteres sont dans la feuil JT en E8 et E9
Mes dates de recherches sont dans la feuil RECAP de B11 à B376
et les recherches de PP ; KK ; RR ..... se trouvent de C11 à C376

Et la formule de Denis, je l'ai placé sur la feuil RECAP en C380 :
=SOMME(SI(ESTNUM(EQUIV(INDIRECT(adrD);JOURS_feries;0))*(JOURSEM(INDIRECT(adrD);2)>5)*(INDIRECT(adrJ)={"PP"."KK"."AA"."RR"});1))

Mes jours fériés sont sur une autre feuil mais nommé : JOURS_feries

J'ai vraiment le sentiment de n'avoir fait aucune erreur et pourtant
si je met PP le samedi 25 decembre 2010, le resultat est vide. la
formule ne me renvoie un code erreur, mais me donne un resultat vide

Avez vous une idée ?

Merci

Manu

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

| inclure cette notion de choix des dates de facon
| que si je change de dates, la formules fonctionnes
| entre ces 2 dates.

Suppose que tu conserves ces 2 mêmes cellules pour faire
ton calcul mais que tu veuilles modifier les dates.

A ) Crée 2 noms (insertion / nom / définir
Nom 1 = AdrD pour la colonne des dates
Fait référence à :
­RESSE(EQUIV($E$11;$A:$A;1);1)&":"&ADRESSE(EQUIV($E$12;$A:$A;1);1)
La formule suivante suppose que tes dates sont en ordre croissant à
cause de:
du "1" dans EQUIV($E$11;$A:$A;1). Le traitement est plus rapide.

Nom 2 = AdrJ Pour la colonne des jours "B:B"
Fait référence à
­RESSE(EQUIV($E$11;$A:$A;1);2)&":"&ADRESSE(EQUIV($E$12;$A:$A;1);2)

Maintenant tu insères ces 2 noms dans ta formule générale :

Validation Matricielle : Maj + Ctrl + Enter
=SOMME(SI(ESTNUM(EQUIV(INDIRECT(AdrD);G2:G8;0))*(JOURSEM(INDIRECT(AdrD);2)>5)*(INDIRECT(AdrJ)={"PP"."PL"."OP"."KK"."SS"."OO"."GG"."BBB"."ZZ"."EE"."YY"."MM"."RR"});1))

Voilà.



"Manu" a écrit dans le message de groupe de
discussion :
#
Genial, ca fonctionne impec, et je vous avoue que je n'ais pas tout
saisi
surtout cette partie de la formule :
SI(ESTNUM(EQUIV(A2:A25;G2:G8;0))*(JOURSEM(A2:A25;2)>5

il faut juste desoramais inclure cette notion de choix des dates de
facon
que si je change de dates, la formules fonctionnes entre ces 2 dates.

C'est deja un super avancement,

merci encore

Manu

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

Si tu veux faire un peu plus court :

Validation matricielle :
=SOMME(SI(ESTNUM(EQUIV(A2:A25;G2:G8;0))*(JOURSEM(A2:A25;2)>5)*(B2:B25={"PP"."PL"."OP"."KK"."SS"."OO"."GG"."BBB"."ZZ"."EE"."YY"."MM"."RR"});1))

Je ne sais si PP.PL .... la liste est exhaustive !



"michdenis" a écrit dans le message de
groupe de
discussion :
#
Validation matricielle : Ctrl + Maj + Enter

Ta formule est longue parce que logiguement on ne peut difficilement
utiliser en même temps <>"T" et <>""
La formule calcule d'abord <>"" et soustrait <>"T"

=SOMME(SI(ESTNUM(EQUIV(A2:A25;G2:G8;0))*(JOURSEM(A2:A25;2)>5)*(B2:B25<>"");1))-SOMME(SI(ESTNUM(EQUIV(A2:A25;G2:G8;0))*(JOURSEM(A2:A25;2)>5)*(B2:B25="T");1))



"Manu" a écrit dans le message de groupe
de
discussion :
e0#
Ben... désolé,

Je suppose que c'etait en matrice, je l'ai testé ainsi et si je
supprime
tout le texte en colonne B et que je tape EEE en B2 il me donne un
resultat
de 3

J'ai testé la formule en normal et là quoi que je fasse le resultat
est
tjrs
egal à 0

Manu

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

Essaie cette formule et on en parle plus ;-))

=SI(NBCAR($B$2:$B$25)>0;SOMME(SI(ESTNUM(EQUIV($A$2:$A$25;$G$2:$G$8;0))*(JOURSEM($A$2:$A$25;2)>5)*($B$2:$B$25<>"T");1));0)



"Manu" a écrit dans le message de groupe
de
discussion :

Bonjour Michdenis,

Ca ne fonctionne pas, car meme si je supprime tout ce qui est
colonne B,
la
formule trouve toujours 3

Le but etant de compter les cellules pleine de la col B hormis si
c'est
un
T
et qui soit un jour férié et qui tombe un samedi / dimanche entre
le
critere
de date stipulé en E11:E12 (ces dates seront bien sur variable).

Manu


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

Bonjour,

En supposant que j'ai compris ton problème, la formule
serait :

Validation matricielle : Ctrl + Maj + Enter
=SOMME(SI(ESTNUM(EQUIV(A2:A25;G2:G8;0))*(JOURSEM(A2:A25;2)>5)*(B2:B25<>"T");1))



"Manu" a écrit dans le message de groupe
de
discussion :
#
Bonjour,

Malgrés deja toute l'aide apporter par diverses personnes dont
Daniel,
Misange, Sam..., je ne m'en sort pas encore totalement.

J'espere y parvenir à condition de réussir cette formule avec
laquelle
je
galere et que je vous détail sur le cijoint (ce sera + clair).
Merci
pour
toutes aides, j'en ai besoin.
http://www.cijoint.fr/cjlink.php?file=cj201004/cijmesyLSw.xls
Merci

Manu





















Avatar
Manu
Est ce que pour mesdates, je garde ceci : =INDIRECT("B" &
EQUIV(JT!$E$8;RECAP!$B$11:$B$375;0) & ":B" &
EQUIV(JT!$E$9;RECAP!$B$11:$B$375;0))
Car pour l'instant avec ceci en mesdates et ton nouvel adressage dans
mescodes, j'ai toujours rien comme resultat.
Je pense qu'il ne faut pas toucher à ta formule :
=SOMMEPROD((JOURSEM(Mesdates;2)>5)*(NB.SI(JOURS_feries;Mesdates)<>0)*(Mescodes<>"T"))
Manu

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

Pour adapter à la colonne, plutot que de mettre le N° de la colonne dans
une cellule comme tu l'as fait, utilise soit colonne() qui te le renvoie
directement soit, pour récupérer la lettre de la colonne, utilise ceci
=GAUCHE(ADRESSE(1;COLONNE();4);NBCAR(ADRESSE(1;COL ONNE();4))-1)

avec cette dernière soluce, "ma" def de mescodes devient:

=INDIRECT(GAUCHE(ADRESSE(1;COLONNE();4);NBCAR(ADRESSE(1;COLONNE();4))-1) &
EQUIV(JT!$E$8;RECAP!$B:$B;0) & ":" &
GAUCHE(ADRESSE(1;COLONNE();4);NBCAR(ADRESSE(1;COLONNE();4))-1) &
EQUIV(JT!$E$9;RECAP!$B:$B;0))

il ne te reste plus qu'à la tirer vers la droite et ça marche. (ouf !!)
après c'est comme tu veux t'y choises !

Misange migrateuse
http://www.excelabo.net


Manu a écrit :
Est ce que ca signifie que je devrais faire :
=equiv(datecherchée;touteslesdates;0)+11 ?

Pour le nombre de personnes ca peut s'arranger facilement et ca peut se
tirer vers la droite avec la methode de denis en faisant pour adrJ :

j'ai remplacé
­RESSE(EQUIV(JT!$E$8;RECAP!$B$11:$B$375;1);3)&":"&ADRESSE(EQUIV(JT!$E$9;RECAP!$B$11:$B$375;1);3)
par :
­RESSE(EQUIV(JT!$E$8;RECAP!$B$11:$B$375;1);RECAP!C381)&":"&ADRESSE(EQUIV(JT!$E$9;RECAP!$B$11:$B$375;1);RECAP!C381)

J'ai tapé en C381 : 3
D381 : 4
etc... ainsi l'adressage de adrJ peut coller

Pour la tienne, je comptais remplacer mescodes : =INDIRECT("C" &
EQUIV(JT!$E$8;RECAP!$B$11:$B$375;0) & ":C" &
EQUIV(JT!$E$9;RECAP!$B$11:$B$375;0))
par des lettre en ligne 382 ce qui donnerais : =INDIRECT(C382 &
EQUIV(JT!$E$8;RECAP!$B$11:$B$375;0) & ":"&C382 &
EQUIV(JT!$E$9;RECAP!$B$11:$B$375;0))

En revanche il est vrai que je n'ais absolument pas pensé à l'hypothese
du 08 mai et le jeudi de l'ascension si ils tombent le même jour, mais je
ne vois pas où ca peut me gener car je ne souhaite compter que les
cellules pleines tombant un jour ferié tombant un samedi et dimanche, le
jeudi de l'ascension tombant tjrs un jeudi, je ne suis pas concerné.

Manu


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

Tu as loupé pas mal de choses en fait :-)
la fonction equiv te renvoie la position d'un item dans un tableau.
Dans le cas présent, si tu veux utiliser cette position pour la
transformer en adresse, il faut absolument que tu tiennes compte de
l'organisation de tes données. Dans ta feuille récap, tes dates
démarrent à la ligne 11
si tu fait =equiv(datecherchée;touteslesdates;0) ca va te renvoyer par
exemple 1 pour le premier janvier. MAis l'adresse de cette cellule n'est
pas B1 mais B12 car la première ligne de ton tableau démarre en 12 !

donc ce qui débloque c'est la définition de tes noms, pas les formules.
Par ailleurs tu nous as donné un exemple ou il n'y avait qu'une
personne. Voilà maintenant qu'il y en a plein. La formule (la mienne ou
celle de Denis d'ailleurs) telle qu'elle est écrite n'est pas "tirable"
vers la droite puisque mescodes (ou l'équivalent pour Denis) fait
référence explicitement à la colonne C qui est celle de Titi.

Tu as encore oublié de gérer une situation qui ne se présente pas tous
les ans mais qui est bien réelle : que se passe-t-il quand le 8 mai et
le jeudi de l'ascension tombent le même jour ?

Misange migrateuse
http://www.excelabo.net


Manu a écrit :
Tu as raison Misange, désolé pour ces changements de Ref, su le fichier
ci-dessous en esperant qu'il puisse s'ouvrir, j'ai adapté ta methode
ainsi que celle de denis dans la feuil recap. Le resultat me donne tjrs
un resultat vide, je pense que ce doit etre une mini erreur de ma part,
mais impossible à trouver.
Avec ce fichier exemple et adapté, j'epere que vous pourrez me stipuler
mon erreur. Merci
http://www.cijoint.fr/cjlink.php?file=cj201004/cijPwWyMbF.xls
Manu

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

Manu, si tu passes ton temps à changer les références dans les
exemples que tu donnes, tu ne nous simplifies pas le boulot !!!
de toutes façons je ne peux pas ouvrir ton classeur, excel y trouve un
contenu illisible.

A toi de comprendre (ou pas mais dans ce cas la demande des
explications) les formules qu'on te propose et de les adapter.
Misange migrateuse
http://www.excelabo.net


Manu a écrit :
Ci joint le fichier, la formule se situe en C380 feuil Recap,
bizarre, car je pense ne pas avoir loupé quoi que ce soit.
http://www.cijoint.fr/cjlink.php?file=cj201004/cijGld5maK.xls
Merci

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

Je ne pige pas mon erreur,

Voici ce que j'ai mis comme Nom à adrD et adrJ
adrD :
­RESSE(EQUIV('JT'!$E$8;RECAP!$B$11:$B$376;1);2)&":"&ADRESSE(EQUIV('JT'!$E$9;RECAP!$B$11:$B$376;1);2)
adrJ :
­RESSE(EQUIV('JT'!$E$8;RECAP!$B$11:$B$376;1);3)&":"&ADRESSE(EQUIV('JT'!$E$9;RECAP!$B$11:$B$376;1);3)

Mes dates criteres sont dans la feuil JT en E8 et E9
Mes dates de recherches sont dans la feuil RECAP de B11 à B376
et les recherches de PP ; KK ; RR ..... se trouvent de C11 à C376

Et la formule de Denis, je l'ai placé sur la feuil RECAP en C380 :
=SOMME(SI(ESTNUM(EQUIV(INDIRECT(adrD);JOURS_feries;0))*(JOURSEM(INDIRECT(adrD);2)>5)*(INDIRECT(adrJ)={"PP"."KK"."AA"."RR"});1))

Mes jours fériés sont sur une autre feuil mais nommé : JOURS_feries

J'ai vraiment le sentiment de n'avoir fait aucune erreur et pourtant
si je met PP le samedi 25 decembre 2010, le resultat est vide. la
formule ne me renvoie un code erreur, mais me donne un resultat vide

Avez vous une idée ?

Merci

Manu

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

| inclure cette notion de choix des dates de facon
| que si je change de dates, la formules fonctionnes
| entre ces 2 dates.

Suppose que tu conserves ces 2 mêmes cellules pour faire
ton calcul mais que tu veuilles modifier les dates.

A ) Crée 2 noms (insertion / nom / définir
Nom 1 = AdrD pour la colonne des dates
Fait référence à :
­RESSE(EQUIV($E$11;$A:$A;1);1)&":"&ADRESSE(EQUIV($E$12;$A:$A;1);1)
La formule suivante suppose que tes dates sont en ordre croissant à
cause de:
du "1" dans EQUIV($E$11;$A:$A;1). Le traitement est plus rapide.

Nom 2 = AdrJ Pour la colonne des jours "B:B"
Fait référence à
­RESSE(EQUIV($E$11;$A:$A;1);2)&":"&ADRESSE(EQUIV($E$12;$A:$A;1);2)

Maintenant tu insères ces 2 noms dans ta formule générale :

Validation Matricielle : Maj + Ctrl + Enter
=SOMME(SI(ESTNUM(EQUIV(INDIRECT(AdrD);G2:G8;0))*(JOURSEM(INDIRECT(AdrD);2)>5)*(INDIRECT(AdrJ)={"PP"."PL"."OP"."KK"."SS"."OO"."GG"."BBB"."ZZ"."EE"."YY"."MM"."RR"});1))

Voilà.



"Manu" a écrit dans le message de groupe
de discussion :
#
Genial, ca fonctionne impec, et je vous avoue que je n'ais pas tout
saisi
surtout cette partie de la formule :
SI(ESTNUM(EQUIV(A2:A25;G2:G8;0))*(JOURSEM(A2:A25;2)>5

il faut juste desoramais inclure cette notion de choix des dates de
facon
que si je change de dates, la formules fonctionnes entre ces 2
dates.

C'est deja un super avancement,

merci encore

Manu

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

Si tu veux faire un peu plus court :

Validation matricielle :
=SOMME(SI(ESTNUM(EQUIV(A2:A25;G2:G8;0))*(JOURSEM(A2:A25;2)>5)*(B2:B25={"PP"."PL"."OP"."KK"."SS"."OO"."GG"."BBB"."ZZ"."EE"."YY"."MM"."RR"});1))

Je ne sais si PP.PL .... la liste est exhaustive !



"michdenis" a écrit dans le message de
groupe de
discussion :
#
Validation matricielle : Ctrl + Maj + Enter

Ta formule est longue parce que logiguement on ne peut
difficilement
utiliser en même temps <>"T" et <>""
La formule calcule d'abord <>"" et soustrait <>"T"

=SOMME(SI(ESTNUM(EQUIV(A2:A25;G2:G8;0))*(JOURSEM(A2:A25;2)>5)*(B2:B25<>"");1))-SOMME(SI(ESTNUM(EQUIV(A2:A25;G2:G8;0))*(JOURSEM(A2:A25;2)>5)*(B2:B25="T");1))



"Manu" a écrit dans le message de groupe
de
discussion :
e0#
Ben... désolé,

Je suppose que c'etait en matrice, je l'ai testé ainsi et si je
supprime
tout le texte en colonne B et que je tape EEE en B2 il me donne un
resultat
de 3

J'ai testé la formule en normal et là quoi que je fasse le
resultat est
tjrs
egal à 0

Manu

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

Essaie cette formule et on en parle plus ;-))

=SI(NBCAR($B$2:$B$25)>0;SOMME(SI(ESTNUM(EQUIV($A$2:$A$25;$G$2:$G$8;0))*(JOURSEM($A$2:$A$25;2)>5)*($B$2:$B$25<>"T");1));0)



"Manu" a écrit dans le message de
groupe de
discussion :

Bonjour Michdenis,

Ca ne fonctionne pas, car meme si je supprime tout ce qui est
colonne B,
la
formule trouve toujours 3

Le but etant de compter les cellules pleine de la col B hormis si
c'est
un
T
et qui soit un jour férié et qui tombe un samedi / dimanche entre
le
critere
de date stipulé en E11:E12 (ces dates seront bien sur variable).

Manu


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

Bonjour,

En supposant que j'ai compris ton problème, la formule
serait :

Validation matricielle : Ctrl + Maj + Enter
=SOMME(SI(ESTNUM(EQUIV(A2:A25;G2:G8;0))*(JOURSEM(A2:A25;2)>5)*(B2:B25<>"T");1))



"Manu" a écrit dans le message de
groupe de
discussion :
#
Bonjour,

Malgrés deja toute l'aide apporter par diverses personnes dont
Daniel,
Misange, Sam..., je ne m'en sort pas encore totalement.

J'espere y parvenir à condition de réussir cette formule avec
laquelle
je
galere et que je vous détail sur le cijoint (ce sera + clair).
Merci
pour
toutes aides, j'en ai besoin.
http://www.cijoint.fr/cjlink.php?file=cj201004/cijmesyLSw.xls
Merci

Manu




















Avatar
Manu
J'ai du monde qui arrive, désolé de ne pouvoir continuer maintenant, je
reviens le plus vite possible. merci de vos efforts, je sais qu'il n'y a
plus grand chose à resoudre. d'ailleurs misange, est ce que de ton coté sur
le fichier tu as un resultat ?

Normalement, il devrait y avoir le resultat de 1 car il y a un A de taper le
25/12/2010 et c'est un samedi, moi de mon côté j'ai tjrs un resultat vide.

Merci encore

Manu

"Manu" a écrit dans le message de news:
%
Est ce que pour mesdates, je garde ceci : =INDIRECT("B" &
EQUIV(JT!$E$8;RECAP!$B$11:$B$375;0) & ":B" &
EQUIV(JT!$E$9;RECAP!$B$11:$B$375;0))
Car pour l'instant avec ceci en mesdates et ton nouvel adressage dans
mescodes, j'ai toujours rien comme resultat.
Je pense qu'il ne faut pas toucher à ta formule :
=SOMMEPROD((JOURSEM(Mesdates;2)>5)*(NB.SI(JOURS_feries;Mesdates)<>0)*(Mescodes<>"T"))
Manu

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

Pour adapter à la colonne, plutot que de mettre le N° de la colonne dans
une cellule comme tu l'as fait, utilise soit colonne() qui te le renvoie
directement soit, pour récupérer la lettre de la colonne, utilise ceci
=GAUCHE(ADRESSE(1;COLONNE();4);NBCAR(ADRESSE(1;COL ONNE();4))-1)

avec cette dernière soluce, "ma" def de mescodes devient:

=INDIRECT(GAUCHE(ADRESSE(1;COLONNE();4);NBCAR(ADRESSE(1;COLONNE();4))-1)
& EQUIV(JT!$E$8;RECAP!$B:$B;0) & ":" &
GAUCHE(ADRESSE(1;COLONNE();4);NBCAR(ADRESSE(1;COLONNE();4))-1) &
EQUIV(JT!$E$9;RECAP!$B:$B;0))

il ne te reste plus qu'à la tirer vers la droite et ça marche. (ouf !!)
après c'est comme tu veux t'y choises !

Misange migrateuse
http://www.excelabo.net


Manu a écrit :
Est ce que ca signifie que je devrais faire :
=equiv(datecherchée;touteslesdates;0)+11 ?

Pour le nombre de personnes ca peut s'arranger facilement et ca peut se
tirer vers la droite avec la methode de denis en faisant pour adrJ :

j'ai remplacé
­RESSE(EQUIV(JT!$E$8;RECAP!$B$11:$B$375;1);3)&":"&ADRESSE(EQUIV(JT!$E$9;RECAP!$B$11:$B$375;1);3)
par :
­RESSE(EQUIV(JT!$E$8;RECAP!$B$11:$B$375;1);RECAP!C381)&":"&ADRESSE(EQUIV(JT!$E$9;RECAP!$B$11:$B$375;1);RECAP!C381)

J'ai tapé en C381 : 3
D381 : 4
etc... ainsi l'adressage de adrJ peut coller

Pour la tienne, je comptais remplacer mescodes : =INDIRECT("C" &
EQUIV(JT!$E$8;RECAP!$B$11:$B$375;0) & ":C" &
EQUIV(JT!$E$9;RECAP!$B$11:$B$375;0))
par des lettre en ligne 382 ce qui donnerais : =INDIRECT(C382 &
EQUIV(JT!$E$8;RECAP!$B$11:$B$375;0) & ":"&C382 &
EQUIV(JT!$E$9;RECAP!$B$11:$B$375;0))

En revanche il est vrai que je n'ais absolument pas pensé à l'hypothese
du 08 mai et le jeudi de l'ascension si ils tombent le même jour, mais
je ne vois pas où ca peut me gener car je ne souhaite compter que les
cellules pleines tombant un jour ferié tombant un samedi et dimanche, le
jeudi de l'ascension tombant tjrs un jeudi, je ne suis pas concerné.

Manu


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

Tu as loupé pas mal de choses en fait :-)
la fonction equiv te renvoie la position d'un item dans un tableau.
Dans le cas présent, si tu veux utiliser cette position pour la
transformer en adresse, il faut absolument que tu tiennes compte de
l'organisation de tes données. Dans ta feuille récap, tes dates
démarrent à la ligne 11
si tu fait =equiv(datecherchée;touteslesdates;0) ca va te renvoyer par
exemple 1 pour le premier janvier. MAis l'adresse de cette cellule
n'est pas B1 mais B12 car la première ligne de ton tableau démarre en
12 !

donc ce qui débloque c'est la définition de tes noms, pas les formules.
Par ailleurs tu nous as donné un exemple ou il n'y avait qu'une
personne. Voilà maintenant qu'il y en a plein. La formule (la mienne ou
celle de Denis d'ailleurs) telle qu'elle est écrite n'est pas "tirable"
vers la droite puisque mescodes (ou l'équivalent pour Denis) fait
référence explicitement à la colonne C qui est celle de Titi.

Tu as encore oublié de gérer une situation qui ne se présente pas tous
les ans mais qui est bien réelle : que se passe-t-il quand le 8 mai et
le jeudi de l'ascension tombent le même jour ?

Misange migrateuse
http://www.excelabo.net


Manu a écrit :
Tu as raison Misange, désolé pour ces changements de Ref, su le
fichier ci-dessous en esperant qu'il puisse s'ouvrir, j'ai adapté ta
methode ainsi que celle de denis dans la feuil recap. Le resultat me
donne tjrs un resultat vide, je pense que ce doit etre une mini erreur
de ma part, mais impossible à trouver.
Avec ce fichier exemple et adapté, j'epere que vous pourrez me
stipuler mon erreur. Merci
http://www.cijoint.fr/cjlink.php?file=cj201004/cijPwWyMbF.xls
Manu

"Misange" a écrit dans le message de
news:
Manu, si tu passes ton temps à changer les références dans les
exemples que tu donnes, tu ne nous simplifies pas le boulot !!!
de toutes façons je ne peux pas ouvrir ton classeur, excel y trouve
un contenu illisible.

A toi de comprendre (ou pas mais dans ce cas la demande des
explications) les formules qu'on te propose et de les adapter.
Misange migrateuse
http://www.excelabo.net


Manu a écrit :
Ci joint le fichier, la formule se situe en C380 feuil Recap,
bizarre, car je pense ne pas avoir loupé quoi que ce soit.
http://www.cijoint.fr/cjlink.php?file=cj201004/cijGld5maK.xls
Merci

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

Je ne pige pas mon erreur,

Voici ce que j'ai mis comme Nom à adrD et adrJ
adrD :
­RESSE(EQUIV('JT'!$E$8;RECAP!$B$11:$B$376;1);2)&":"&ADRESSE(EQUIV('JT'!$E$9;RECAP!$B$11:$B$376;1);2)
adrJ :
­RESSE(EQUIV('JT'!$E$8;RECAP!$B$11:$B$376;1);3)&":"&ADRESSE(EQUIV('JT'!$E$9;RECAP!$B$11:$B$376;1);3)

Mes dates criteres sont dans la feuil JT en E8 et E9
Mes dates de recherches sont dans la feuil RECAP de B11 à B376
et les recherches de PP ; KK ; RR ..... se trouvent de C11 à C376

Et la formule de Denis, je l'ai placé sur la feuil RECAP en C380 :
=SOMME(SI(ESTNUM(EQUIV(INDIRECT(adrD);JOURS_feries;0))*(JOURSEM(INDIRECT(adrD);2)>5)*(INDIRECT(adrJ)={"PP"."KK"."AA"."RR"});1))

Mes jours fériés sont sur une autre feuil mais nommé : JOURS_feries

J'ai vraiment le sentiment de n'avoir fait aucune erreur et
pourtant si je met PP le samedi 25 decembre 2010, le resultat est
vide. la formule ne me renvoie un code erreur, mais me donne un
resultat vide

Avez vous une idée ?

Merci

Manu

"michdenis" a écrit dans le message de
news:
| inclure cette notion de choix des dates de facon
| que si je change de dates, la formules fonctionnes
| entre ces 2 dates.

Suppose que tu conserves ces 2 mêmes cellules pour faire
ton calcul mais que tu veuilles modifier les dates.

A ) Crée 2 noms (insertion / nom / définir
Nom 1 = AdrD pour la colonne des dates
Fait référence à :
­RESSE(EQUIV($E$11;$A:$A;1);1)&":"&ADRESSE(EQUIV($E$12;$A:$A;1);1)
La formule suivante suppose que tes dates sont en ordre croissant
à cause de:
du "1" dans EQUIV($E$11;$A:$A;1). Le traitement est plus rapide.

Nom 2 = AdrJ Pour la colonne des jours "B:B"
Fait référence à
­RESSE(EQUIV($E$11;$A:$A;1);2)&":"&ADRESSE(EQUIV($E$12;$A:$A;1);2)

Maintenant tu insères ces 2 noms dans ta formule générale :

Validation Matricielle : Maj + Ctrl + Enter
=SOMME(SI(ESTNUM(EQUIV(INDIRECT(AdrD);G2:G8;0))*(JOURSEM(INDIRECT(AdrD);2)>5)*(INDIRECT(AdrJ)={"PP"."PL"."OP"."KK"."SS"."OO"."GG"."BBB"."ZZ"."EE"."YY"."MM"."RR"});1))

Voilà.



"Manu" a écrit dans le message de groupe
de discussion :
#
Genial, ca fonctionne impec, et je vous avoue que je n'ais pas
tout saisi
surtout cette partie de la formule :
SI(ESTNUM(EQUIV(A2:A25;G2:G8;0))*(JOURSEM(A2:A25;2)>5

il faut juste desoramais inclure cette notion de choix des dates
de facon
que si je change de dates, la formules fonctionnes entre ces 2
dates.

C'est deja un super avancement,

merci encore

Manu

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

Si tu veux faire un peu plus court :

Validation matricielle :
=SOMME(SI(ESTNUM(EQUIV(A2:A25;G2:G8;0))*(JOURSEM(A2:A25;2)>5)*(B2:B25={"PP"."PL"."OP"."KK"."SS"."OO"."GG"."BBB"."ZZ"."EE"."YY"."MM"."RR"});1))

Je ne sais si PP.PL .... la liste est exhaustive !



"michdenis" a écrit dans le message de
groupe de
discussion :
#
Validation matricielle : Ctrl + Maj + Enter

Ta formule est longue parce que logiguement on ne peut
difficilement
utiliser en même temps <>"T" et <>""
La formule calcule d'abord <>"" et soustrait <>"T"

=SOMME(SI(ESTNUM(EQUIV(A2:A25;G2:G8;0))*(JOURSEM(A2:A25;2)>5)*(B2:B25<>"");1))-SOMME(SI(ESTNUM(EQUIV(A2:A25;G2:G8;0))*(JOURSEM(A2:A25;2)>5)*(B2:B25="T");1))



"Manu" a écrit dans le message de
groupe de
discussion :
e0#
Ben... désolé,

Je suppose que c'etait en matrice, je l'ai testé ainsi et si je
supprime
tout le texte en colonne B et que je tape EEE en B2 il me donne
un
resultat
de 3

J'ai testé la formule en normal et là quoi que je fasse le
resultat est
tjrs
egal à 0

Manu

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

Essaie cette formule et on en parle plus ;-))

=SI(NBCAR($B$2:$B$25)>0;SOMME(SI(ESTNUM(EQUIV($A$2:$A$25;$G$2:$G$8;0))*(JOURSEM($A$2:$A$25;2)>5)*($B$2:$B$25<>"T");1));0)



"Manu" a écrit dans le message de
groupe de
discussion :

Bonjour Michdenis,

Ca ne fonctionne pas, car meme si je supprime tout ce qui est
colonne B,
la
formule trouve toujours 3

Le but etant de compter les cellules pleine de la col B hormis
si c'est
un
T
et qui soit un jour férié et qui tombe un samedi / dimanche
entre le
critere
de date stipulé en E11:E12 (ces dates seront bien sur variable).

Manu


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

Bonjour,

En supposant que j'ai compris ton problème, la formule
serait :

Validation matricielle : Ctrl + Maj + Enter
=SOMME(SI(ESTNUM(EQUIV(A2:A25;G2:G8;0))*(JOURSEM(A2:A25;2)>5)*(B2:B25<>"T");1))



"Manu" a écrit dans le message de
groupe de
discussion :
#
Bonjour,

Malgrés deja toute l'aide apporter par diverses personnes dont
Daniel,
Misange, Sam..., je ne m'en sort pas encore totalement.

J'espere y parvenir à condition de réussir cette formule avec
laquelle
je
galere et que je vous détail sur le cijoint (ce sera + clair).
Merci
pour
toutes aides, j'en ai besoin.
http://www.cijoint.fr/cjlink.php?file=cj201004/cijmesyLSw.xls
Merci

Manu

























Avatar
Misange
mais non !
pour mesdates :
=INDIRECT("B" & EQUIV(JT!$E$8;RECAP!$B:$B;0) & ":B" &
EQUIV(JT!$E$9;RECAP!$B:$B;0))

pour mescodes
=INDIRECT(GAUCHE(ADRESSE(1;COLONNE();4);NBCAR(ADRESSE(1;COLONNE();4))-1)
& EQUIV(JT!$E$8;RECAP!$B:$B;0) & ":" &
GAUCHE(ADRESSE(1;COLONNE();4);NBCAR(ADRESSE(1;COLONNE();4))-1) &
EQUIV(JT!$E$9;RECAP!$B:$B;0))

et pour trouver donc le nombre de jours fériés tombant un week end
pendant la période considérée et ou le code soit différent de T

=SOMMEPROD((JOURSEM(Mesdates;2)>5)*(NB.SI(JOURS_feries;Mesdates)<>0)*(Mescodes<>"T"))
que tu mets où tu veux du moment que c'est dans la colonne correspondant
au salarié pour lequel tu fais le décompte.

Misange migrateuse
http://www.excelabo.net


Manu a écrit :
Est ce que pour mesdates, je garde ceci : =INDIRECT("B" &
EQUIV(JT!$E$8;RECAP!$B$11:$B$375;0) & ":B" &
EQUIV(JT!$E$9;RECAP!$B$11:$B$375;0))
Car pour l'instant avec ceci en mesdates et ton nouvel adressage dans
mescodes, j'ai toujours rien comme resultat.
Je pense qu'il ne faut pas toucher à ta formule :
=SOMMEPROD((JOURSEM(Mesdates;2)>5)*(NB.SI(JOURS_feries;Mesdates)<>0)*(Mescodes<>"T"))
Manu

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

Pour adapter à la colonne, plutot que de mettre le N° de la colonne dans
une cellule comme tu l'as fait, utilise soit colonne() qui te le renvoie
directement soit, pour récupérer la lettre de la colonne, utilise ceci
=GAUCHE(ADRESSE(1;COLONNE();4);NBCAR(ADRESSE(1;COL ONNE();4))-1)

avec cette dernière soluce, "ma" def de mescodes devient:

=INDIRECT(GAUCHE(ADRESSE(1;COLONNE();4);NBCAR(ADRESSE(1;COLONNE();4))-1) &
EQUIV(JT!$E$8;RECAP!$B:$B;0) & ":" &
GAUCHE(ADRESSE(1;COLONNE();4);NBCAR(ADRESSE(1;COLONNE();4))-1) &
EQUIV(JT!$E$9;RECAP!$B:$B;0))

il ne te reste plus qu'à la tirer vers la droite et ça marche. (ouf !!)
après c'est comme tu veux t'y choises !

Misange migrateuse
http://www.excelabo.net


Manu a écrit :
Est ce que ca signifie que je devrais faire :
=equiv(datecherchée;touteslesdates;0)+11 ?

Pour le nombre de personnes ca peut s'arranger facilement et ca peut se
tirer vers la droite avec la methode de denis en faisant pour adrJ :

j'ai remplacé
­RESSE(EQUIV(JT!$E$8;RECAP!$B$11:$B$375;1);3)&":"&ADRESSE(EQUIV(JT!$E$9;RECAP!$B$11:$B$375;1);3)
par :
­RESSE(EQUIV(JT!$E$8;RECAP!$B$11:$B$375;1);RECAP!C381)&":"&ADRESSE(EQUIV(JT!$E$9;RECAP!$B$11:$B$375;1);RECAP!C381)

J'ai tapé en C381 : 3
D381 : 4
etc... ainsi l'adressage de adrJ peut coller

Pour la tienne, je comptais remplacer mescodes : =INDIRECT("C" &
EQUIV(JT!$E$8;RECAP!$B$11:$B$375;0) & ":C" &
EQUIV(JT!$E$9;RECAP!$B$11:$B$375;0))
par des lettre en ligne 382 ce qui donnerais : =INDIRECT(C382 &
EQUIV(JT!$E$8;RECAP!$B$11:$B$375;0) & ":"&C382 &
EQUIV(JT!$E$9;RECAP!$B$11:$B$375;0))

En revanche il est vrai que je n'ais absolument pas pensé à l'hypothese
du 08 mai et le jeudi de l'ascension si ils tombent le même jour, mais je
ne vois pas où ca peut me gener car je ne souhaite compter que les
cellules pleines tombant un jour ferié tombant un samedi et dimanche, le
jeudi de l'ascension tombant tjrs un jeudi, je ne suis pas concerné.

Manu


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

Tu as loupé pas mal de choses en fait :-)
la fonction equiv te renvoie la position d'un item dans un tableau.
Dans le cas présent, si tu veux utiliser cette position pour la
transformer en adresse, il faut absolument que tu tiennes compte de
l'organisation de tes données. Dans ta feuille récap, tes dates
démarrent à la ligne 11
si tu fait =equiv(datecherchée;touteslesdates;0) ca va te renvoyer par
exemple 1 pour le premier janvier. MAis l'adresse de cette cellule n'est
pas B1 mais B12 car la première ligne de ton tableau démarre en 12 !

donc ce qui débloque c'est la définition de tes noms, pas les formules.
Par ailleurs tu nous as donné un exemple ou il n'y avait qu'une
personne. Voilà maintenant qu'il y en a plein. La formule (la mienne ou
celle de Denis d'ailleurs) telle qu'elle est écrite n'est pas "tirable"
vers la droite puisque mescodes (ou l'équivalent pour Denis) fait
référence explicitement à la colonne C qui est celle de Titi.

Tu as encore oublié de gérer une situation qui ne se présente pas tous
les ans mais qui est bien réelle : que se passe-t-il quand le 8 mai et
le jeudi de l'ascension tombent le même jour ?

Misange migrateuse
http://www.excelabo.net


Manu a écrit :
Tu as raison Misange, désolé pour ces changements de Ref, su le fichier
ci-dessous en esperant qu'il puisse s'ouvrir, j'ai adapté ta methode
ainsi que celle de denis dans la feuil recap. Le resultat me donne tjrs
un resultat vide, je pense que ce doit etre une mini erreur de ma part,
mais impossible à trouver.
Avec ce fichier exemple et adapté, j'epere que vous pourrez me stipuler
mon erreur. Merci
http://www.cijoint.fr/cjlink.php?file=cj201004/cijPwWyMbF.xls
Manu

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

Manu, si tu passes ton temps à changer les références dans les
exemples que tu donnes, tu ne nous simplifies pas le boulot !!!
de toutes façons je ne peux pas ouvrir ton classeur, excel y trouve un
contenu illisible.

A toi de comprendre (ou pas mais dans ce cas la demande des
explications) les formules qu'on te propose et de les adapter.
Misange migrateuse
http://www.excelabo.net


Manu a écrit :
Ci joint le fichier, la formule se situe en C380 feuil Recap,
bizarre, car je pense ne pas avoir loupé quoi que ce soit.
http://www.cijoint.fr/cjlink.php?file=cj201004/cijGld5maK.xls
Merci

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

Je ne pige pas mon erreur,

Voici ce que j'ai mis comme Nom à adrD et adrJ
adrD :
­RESSE(EQUIV('JT'!$E$8;RECAP!$B$11:$B$376;1);2)&":"&ADRESSE(EQUIV('JT'!$E$9;RECAP!$B$11:$B$376;1);2)
adrJ :
­RESSE(EQUIV('JT'!$E$8;RECAP!$B$11:$B$376;1);3)&":"&ADRESSE(EQUIV('JT'!$E$9;RECAP!$B$11:$B$376;1);3)


Mes dates criteres sont dans la feuil JT en E8 et E9
Mes dates de recherches sont dans la feuil RECAP de B11 à B376
et les recherches de PP ; KK ; RR ..... se trouvent de C11 à C376

Et la formule de Denis, je l'ai placé sur la feuil RECAP en C380 :
=SOMME(SI(ESTNUM(EQUIV(INDIRECT(adrD);JOURS_feries;0))*(JOURSEM(INDIRECT(adrD);2)>5)*(INDIRECT(adrJ)={"PP"."KK"."AA"."RR"});1))

Mes jours fériés sont sur une autre feuil mais nommé : JOURS_feries

J'ai vraiment le sentiment de n'avoir fait aucune erreur et pourtant
si je met PP le samedi 25 decembre 2010, le resultat est vide. la
formule ne me renvoie un code erreur, mais me donne un resultat vide

Avez vous une idée ?

Merci

Manu

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

| inclure cette notion de choix des dates de facon
| que si je change de dates, la formules fonctionnes
| entre ces 2 dates.

Suppose que tu conserves ces 2 mêmes cellules pour faire
ton calcul mais que tu veuilles modifier les dates.

A ) Crée 2 noms (insertion / nom / définir
Nom 1 = AdrD pour la colonne des dates
Fait référence à :
­RESSE(EQUIV($E$11;$A:$A;1);1)&":"&ADRESSE(EQUIV($E$12;$A:$A;1);1)
La formule suivante suppose que tes dates sont en ordre croissant à
cause de:
du "1" dans EQUIV($E$11;$A:$A;1). Le traitement est plus rapide.

Nom 2 = AdrJ Pour la colonne des jours "B:B"
Fait référence à
­RESSE(EQUIV($E$11;$A:$A;1);2)&":"&ADRESSE(EQUIV($E$12;$A:$A;1);2)

Maintenant tu insères ces 2 noms dans ta formule générale :

Validation Matricielle : Maj + Ctrl + Enter
=SOMME(SI(ESTNUM(EQUIV(INDIRECT(AdrD);G2:G8;0))*(JOURSEM(INDIRECT(AdrD);2)>5)*(INDIRECT(AdrJ)={"PP"."PL"."OP"."KK"."SS"."OO"."GG"."BBB"."ZZ"."EE"."YY"."MM"."RR"});1))

Voilà.



"Manu" a écrit dans le message de groupe
de discussion :
#
Genial, ca fonctionne impec, et je vous avoue que je n'ais pas tout
saisi
surtout cette partie de la formule :
SI(ESTNUM(EQUIV(A2:A25;G2:G8;0))*(JOURSEM(A2:A25;2)>5

il faut juste desoramais inclure cette notion de choix des dates de
facon
que si je change de dates, la formules fonctionnes entre ces 2
dates.

C'est deja un super avancement,

merci encore

Manu

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

Si tu veux faire un peu plus court :

Validation matricielle :
=SOMME(SI(ESTNUM(EQUIV(A2:A25;G2:G8;0))*(JOURSEM(A2:A25;2)>5)*(B2:B25={"PP"."PL"."OP"."KK"."SS"."OO"."GG"."BBB"."ZZ"."EE"."YY"."MM"."RR"});1))

Je ne sais si PP.PL .... la liste est exhaustive !



"michdenis" a écrit dans le message de
groupe de
discussion :
#
Validation matricielle : Ctrl + Maj + Enter

Ta formule est longue parce que logiguement on ne peut
difficilement
utiliser en même temps <>"T" et <>""
La formule calcule d'abord <>"" et soustrait <>"T"

=SOMME(SI(ESTNUM(EQUIV(A2:A25;G2:G8;0))*(JOURSEM(A2:A25;2)>5)*(B2:B25<>"");1))-SOMME(SI(ESTNUM(EQUIV(A2:A25;G2:G8;0))*(JOURSEM(A2:A25;2)>5)*(B2:B25="T");1))



"Manu" a écrit dans le message de groupe
de
discussion :
e0#
Ben... désolé,

Je suppose que c'etait en matrice, je l'ai testé ainsi et si je
supprime
tout le texte en colonne B et que je tape EEE en B2 il me donne un
resultat
de 3

J'ai testé la formule en normal et là quoi que je fasse le
resultat est
tjrs
egal à 0

Manu

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

Essaie cette formule et on en parle plus ;-))

=SI(NBCAR($B$2:$B$25)>0;SOMME(SI(ESTNUM(EQUIV($A$2:$A$25;$G$2:$G$8;0))*(JOURSEM($A$2:$A$25;2)>5)*($B$2:$B$25<>"T");1));0)



"Manu" a écrit dans le message de
groupe de
discussion :

Bonjour Michdenis,

Ca ne fonctionne pas, car meme si je supprime tout ce qui est
colonne B,
la
formule trouve toujours 3

Le but etant de compter les cellules pleine de la col B hormis si
c'est
un
T
et qui soit un jour férié et qui tombe un samedi / dimanche entre
le
critere
de date stipulé en E11:E12 (ces dates seront bien sur variable).

Manu


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

Bonjour,

En supposant que j'ai compris ton problème, la formule
serait :

Validation matricielle : Ctrl + Maj + Enter
=SOMME(SI(ESTNUM(EQUIV(A2:A25;G2:G8;0))*(JOURSEM(A2:A25;2)>5)*(B2:B25<>"T");1))



"Manu" a écrit dans le message de
groupe de
discussion :
#
Bonjour,

Malgrés deja toute l'aide apporter par diverses personnes dont
Daniel,
Misange, Sam..., je ne m'en sort pas encore totalement.

J'espere y parvenir à condition de réussir cette formule avec
laquelle
je
galere et que je vous détail sur le cijoint (ce sera + clair).
Merci
pour
toutes aides, j'en ai besoin.
http://www.cijoint.fr/cjlink.php?file=cj201004/cijmesyLSw.xls
Merci

Manu
























Avatar
michdenis
Bonjour Misange,

| et dans la formule =sommeprod((mesdates blablabla
| au lieu de sommeprod((indirect(monadresse) blablabla

Bien vu Misange.

Dans les références à mes deux noms, j'aurais pu inclure (indirect())
ceci aurait donné :
Pour AdrD
=INDIRECT(ADRESSE(EQUIV(Bilan!$E$11;Bilan!$A:$A;1);1)&":"&ADRESSE(EQUIV(Bilan!$E$12;Bilan!$A:$A;1);1))
Pour AdrF
=INDIRECT(ADRESSE(EQUIV(Bilan!$E$11;Bilan!$A:$A;1);2)&":"&ADRESSE(EQUIV(Bilan!$E$12;Bilan!$A:$A;1);2))

Ainsi ma formule aurait ressemblé à ceci dans la cellule : (sans indirect)
=SOMME(SI(ESTNUM(EQUIV(AdrD;G2:G8;0))*(JOURSEM(AdrD;2)>5)*(AdrJ={"PP"."PL"."OP"."KK"."SS"."OO"."GG"."BBB"."ZZ"."EE"."YY"."MM"."RR"});1))

Est-ce que cela change quelque chose au niveau de l'efficience et du
temps de traitement par Excel ? Je ne suis pas convaincu, mais
j'admets que cette présentation peut-être plus facile à lire.

Je suis d'accord avec toi, la présentation de ta formule est plus courte :
=INDIRECT("A" & EQUIV(bilan!$E$11;bilan!$A:$A;0) & ":A" &
EQUIV(bilan!$E$12;bilan!$A:$A;0))

Mais la mienne à l'avantage d'être plus simple à saisir ...;-)) , je n'ai qu'à modifier
le 1 pour le 2
selon la colonne. Perso, ce n'est pas négligeable... ;-))

Manu pourrait aussi remplacer bilan!$E$11 et bilan!$E$12 par des "NOMS", toujours
utile en cas de suppression d'une ligne le cas échéant. La même chose pourrait
s'appliquer pour bilan!$A:$A

En dans ma formule principale, on pourrait aussi remplacer le tableau
des codes par un NOM et faire de même pour la plage des jours fériés. La
nouvelle formule se lirait comme suit :
=SOMME(SI(ESTNUM(EQUIV(AdrD;JrsFériés;0))*(JOURSEM(AdrD;2)>5)*(AdrJ=Code);1))

Moi, je pense à Manu, il faut lui laisser un peu de travail sinon il va nous en vouloir !
;-)

Maintenant concernant la formule principale :
| =SOMMEPROD((JOURSEM(mesdates;2)>5)*(NB.SI(fériés;mesdates)<>0)*(mescodes<>"T"))

Si tu compares le comportement de ta formule à la mienne, force est
de constater que les deux formules ne sont pas semblables et qu'elles
ne renvoient pas le même résultat. À titre d'exemple, si tu enlèves tous
les codes saisis en colonne B, ta formule retourne 3 au lieu de 0.
Manu, selon ses besoins décidera ce qui lui convient le mieux.

Bon dimanche.
Avatar
Manu
J'ai suivi scrupuleusement tes informations, et si je supprime toutes les
frappes de la colonne C de la feuil recap, j'ai desormais un resultat de 1
si j'ajoute du texte dans la cellule C369 correspondant au samedi 25
decembre, le resultat est tjrs de 1 .......

Peux tu verifier sur mon fichier joint que j'ai bien suivi tes consignes.
Merci
http://www.cijoint.fr/cjlink.php?file=cj201004/cijTV8Pe2X.xls

Manu


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

mais non !
pour mesdates :
=INDIRECT("B" & EQUIV(JT!$E$8;RECAP!$B:$B;0) & ":B" &
EQUIV(JT!$E$9;RECAP!$B:$B;0))

pour mescodes
=INDIRECT(GAUCHE(ADRESSE(1;COLONNE();4);NBCAR(ADRESSE(1;COLONNE();4))-1) &
EQUIV(JT!$E$8;RECAP!$B:$B;0) & ":" &
GAUCHE(ADRESSE(1;COLONNE();4);NBCAR(ADRESSE(1;COLONNE();4))-1) &
EQUIV(JT!$E$9;RECAP!$B:$B;0))

et pour trouver donc le nombre de jours fériés tombant un week end pendant
la période considérée et ou le code soit différent de T

=SOMMEPROD((JOURSEM(Mesdates;2)>5)*(NB.SI(JOURS_feries;Mesdates)<>0)*(Mescodes<>"T"))
que tu mets où tu veux du moment que c'est dans la colonne correspondant
au salarié pour lequel tu fais le décompte.

Misange migrateuse
http://www.excelabo.net


Manu a écrit :
Est ce que pour mesdates, je garde ceci : =INDIRECT("B" &
EQUIV(JT!$E$8;RECAP!$B$11:$B$375;0) & ":B" &
EQUIV(JT!$E$9;RECAP!$B$11:$B$375;0))
Car pour l'instant avec ceci en mesdates et ton nouvel adressage dans
mescodes, j'ai toujours rien comme resultat.
Je pense qu'il ne faut pas toucher à ta formule :
=SOMMEPROD((JOURSEM(Mesdates;2)>5)*(NB.SI(JOURS_feries;Mesdates)<>0)*(Mescodes<>"T"))
Manu

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

Pour adapter à la colonne, plutot que de mettre le N° de la colonne dans
une cellule comme tu l'as fait, utilise soit colonne() qui te le renvoie
directement soit, pour récupérer la lettre de la colonne, utilise ceci
=GAUCHE(ADRESSE(1;COLONNE();4);NBCAR(ADRESSE(1;COL ONNE();4))-1)

avec cette dernière soluce, "ma" def de mescodes devient:

=INDIRECT(GAUCHE(ADRESSE(1;COLONNE();4);NBCAR(ADRESSE(1;COLONNE();4))-1)
& EQUIV(JT!$E$8;RECAP!$B:$B;0) & ":" &
GAUCHE(ADRESSE(1;COLONNE();4);NBCAR(ADRESSE(1;COLONNE();4))-1) &
EQUIV(JT!$E$9;RECAP!$B:$B;0))

il ne te reste plus qu'à la tirer vers la droite et ça marche. (ouf !!)
après c'est comme tu veux t'y choises !

Misange migrateuse
http://www.excelabo.net


Manu a écrit :
Est ce que ca signifie que je devrais faire :
=equiv(datecherchée;touteslesdates;0)+11 ?

Pour le nombre de personnes ca peut s'arranger facilement et ca peut se
tirer vers la droite avec la methode de denis en faisant pour adrJ :

j'ai remplacé
­RESSE(EQUIV(JT!$E$8;RECAP!$B$11:$B$375;1);3)&":"&ADRESSE(EQUIV(JT!$E$9;RECAP!$B$11:$B$375;1);3)
par :
­RESSE(EQUIV(JT!$E$8;RECAP!$B$11:$B$375;1);RECAP!C381)&":"&ADRESSE(EQUIV(JT!$E$9;RECAP!$B$11:$B$375;1);RECAP!C381)

J'ai tapé en C381 : 3
D381 : 4
etc... ainsi l'adressage de adrJ peut coller

Pour la tienne, je comptais remplacer mescodes : =INDIRECT("C" &
EQUIV(JT!$E$8;RECAP!$B$11:$B$375;0) & ":C" &
EQUIV(JT!$E$9;RECAP!$B$11:$B$375;0))
par des lettre en ligne 382 ce qui donnerais : =INDIRECT(C382 &
EQUIV(JT!$E$8;RECAP!$B$11:$B$375;0) & ":"&C382 &
EQUIV(JT!$E$9;RECAP!$B$11:$B$375;0))

En revanche il est vrai que je n'ais absolument pas pensé à l'hypothese
du 08 mai et le jeudi de l'ascension si ils tombent le même jour, mais
je ne vois pas où ca peut me gener car je ne souhaite compter que les
cellules pleines tombant un jour ferié tombant un samedi et dimanche,
le jeudi de l'ascension tombant tjrs un jeudi, je ne suis pas concerné.

Manu


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

Tu as loupé pas mal de choses en fait :-)
la fonction equiv te renvoie la position d'un item dans un tableau.
Dans le cas présent, si tu veux utiliser cette position pour la
transformer en adresse, il faut absolument que tu tiennes compte de
l'organisation de tes données. Dans ta feuille récap, tes dates
démarrent à la ligne 11
si tu fait =equiv(datecherchée;touteslesdates;0) ca va te renvoyer par
exemple 1 pour le premier janvier. MAis l'adresse de cette cellule
n'est pas B1 mais B12 car la première ligne de ton tableau démarre en
12 !

donc ce qui débloque c'est la définition de tes noms, pas les
formules.
Par ailleurs tu nous as donné un exemple ou il n'y avait qu'une
personne. Voilà maintenant qu'il y en a plein. La formule (la mienne
ou celle de Denis d'ailleurs) telle qu'elle est écrite n'est pas
"tirable" vers la droite puisque mescodes (ou l'équivalent pour Denis)
fait référence explicitement à la colonne C qui est celle de Titi.

Tu as encore oublié de gérer une situation qui ne se présente pas tous
les ans mais qui est bien réelle : que se passe-t-il quand le 8 mai et
le jeudi de l'ascension tombent le même jour ?

Misange migrateuse
http://www.excelabo.net


Manu a écrit :
Tu as raison Misange, désolé pour ces changements de Ref, su le
fichier ci-dessous en esperant qu'il puisse s'ouvrir, j'ai adapté ta
methode ainsi que celle de denis dans la feuil recap. Le resultat me
donne tjrs un resultat vide, je pense que ce doit etre une mini
erreur de ma part, mais impossible à trouver.
Avec ce fichier exemple et adapté, j'epere que vous pourrez me
stipuler mon erreur. Merci
http://www.cijoint.fr/cjlink.php?file=cj201004/cijPwWyMbF.xls
Manu

"Misange" a écrit dans le message de
news:
Manu, si tu passes ton temps à changer les références dans les
exemples que tu donnes, tu ne nous simplifies pas le boulot !!!
de toutes façons je ne peux pas ouvrir ton classeur, excel y trouve
un contenu illisible.

A toi de comprendre (ou pas mais dans ce cas la demande des
explications) les formules qu'on te propose et de les adapter.
Misange migrateuse
http://www.excelabo.net


Manu a écrit :
Ci joint le fichier, la formule se situe en C380 feuil Recap,
bizarre, car je pense ne pas avoir loupé quoi que ce soit.
http://www.cijoint.fr/cjlink.php?file=cj201004/cijGld5maK.xls
Merci

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

Je ne pige pas mon erreur,

Voici ce que j'ai mis comme Nom à adrD et adrJ
adrD :
­RESSE(EQUIV('JT'!$E$8;RECAP!$B$11:$B$376;1);2)&":"&ADRESSE(EQUIV('JT'!$E$9;RECAP!$B$11:$B$376;1);2)
adrJ :
­RESSE(EQUIV('JT'!$E$8;RECAP!$B$11:$B$376;1);3)&":"&ADRESSE(EQUIV('JT'!$E$9;RECAP!$B$11:$B$376;1);3)


















Mes dates criteres sont dans la feuil JT en E8 et E9
Mes dates de recherches sont dans la feuil RECAP de B11 à B376
et les recherches de PP ; KK ; RR ..... se trouvent de C11 à C376

Et la formule de Denis, je l'ai placé sur la feuil RECAP en C380 :
=SOMME(SI(ESTNUM(EQUIV(INDIRECT(adrD);JOURS_feries;0))*(JOURSEM(INDIRECT(adrD);2)>5)*(INDIRECT(adrJ)={"PP"."KK"."AA"."RR"});1))

Mes jours fériés sont sur une autre feuil mais nommé :
JOURS_feries

J'ai vraiment le sentiment de n'avoir fait aucune erreur et
pourtant si je met PP le samedi 25 decembre 2010, le resultat est
vide. la formule ne me renvoie un code erreur, mais me donne un
resultat vide

Avez vous une idée ?

Merci

Manu

"michdenis" a écrit dans le message de
news:
| inclure cette notion de choix des dates de facon
| que si je change de dates, la formules fonctionnes
| entre ces 2 dates.

Suppose que tu conserves ces 2 mêmes cellules pour faire
ton calcul mais que tu veuilles modifier les dates.

A ) Crée 2 noms (insertion / nom / définir
Nom 1 = AdrD pour la colonne des dates
Fait référence à :
­RESSE(EQUIV($E$11;$A:$A;1);1)&":"&ADRESSE(EQUIV($E$12;$A:$A;1);1)
La formule suivante suppose que tes dates sont en ordre croissant
à cause de:
du "1" dans EQUIV($E$11;$A:$A;1). Le traitement est plus rapide.

Nom 2 = AdrJ Pour la colonne des jours "B:B"
Fait référence à
­RESSE(EQUIV($E$11;$A:$A;1);2)&":"&ADRESSE(EQUIV($E$12;$A:$A;1);2)

Maintenant tu insères ces 2 noms dans ta formule générale :

Validation Matricielle : Maj + Ctrl + Enter
=SOMME(SI(ESTNUM(EQUIV(INDIRECT(AdrD);G2:G8;0))*(JOURSEM(INDIRECT(AdrD);2)>5)*(INDIRECT(AdrJ)={"PP"."PL"."OP"."KK"."SS"."OO"."GG"."BBB"."ZZ"."EE"."YY"."MM"."RR"});1))

Voilà.



"Manu" a écrit dans le message de
groupe de discussion :
#
Genial, ca fonctionne impec, et je vous avoue que je n'ais pas
tout saisi
surtout cette partie de la formule :
SI(ESTNUM(EQUIV(A2:A25;G2:G8;0))*(JOURSEM(A2:A25;2)>5

il faut juste desoramais inclure cette notion de choix des dates
de facon
que si je change de dates, la formules fonctionnes entre ces 2
dates.

C'est deja un super avancement,

merci encore

Manu

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

Si tu veux faire un peu plus court :

Validation matricielle :
=SOMME(SI(ESTNUM(EQUIV(A2:A25;G2:G8;0))*(JOURSEM(A2:A25;2)>5)*(B2:B25={"PP"."PL"."OP"."KK"."SS"."OO"."GG"."BBB"."ZZ"."EE"."YY"."MM"."RR"});1))

Je ne sais si PP.PL .... la liste est exhaustive !



"michdenis" a écrit dans le message de
groupe de
discussion :
#
Validation matricielle : Ctrl + Maj + Enter

Ta formule est longue parce que logiguement on ne peut
difficilement
utiliser en même temps <>"T" et <>""
La formule calcule d'abord <>"" et soustrait <>"T"

=SOMME(SI(ESTNUM(EQUIV(A2:A25;G2:G8;0))*(JOURSEM(A2:A25;2)>5)*(B2:B25<>"");1))-SOMME(SI(ESTNUM(EQUIV(A2:A25;G2:G8;0))*(JOURSEM(A2:A25;2)>5)*(B2:B25="T");1))



"Manu" a écrit dans le message de
groupe de
discussion :
e0#
Ben... désolé,

Je suppose que c'etait en matrice, je l'ai testé ainsi et si je
supprime
tout le texte en colonne B et que je tape EEE en B2 il me donne
un
resultat
de 3

J'ai testé la formule en normal et là quoi que je fasse le
resultat est
tjrs
egal à 0

Manu

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

Essaie cette formule et on en parle plus ;-))

=SI(NBCAR($B$2:$B$25)>0;SOMME(SI(ESTNUM(EQUIV($A$2:$A$25;$G$2:$G$8;0))*(JOURSEM($A$2:$A$25;2)>5)*($B$2:$B$25<>"T");1));0)



"Manu" a écrit dans le message de
groupe de
discussion :

Bonjour Michdenis,

Ca ne fonctionne pas, car meme si je supprime tout ce qui est
colonne B,
la
formule trouve toujours 3

Le but etant de compter les cellules pleine de la col B hormis
si c'est
un
T
et qui soit un jour férié et qui tombe un samedi / dimanche
entre le
critere
de date stipulé en E11:E12 (ces dates seront bien sur
variable).

Manu


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

Bonjour,

En supposant que j'ai compris ton problème, la formule
serait :

Validation matricielle : Ctrl + Maj + Enter
=SOMME(SI(ESTNUM(EQUIV(A2:A25;G2:G8;0))*(JOURSEM(A2:A25;2)>5)*(B2:B25<>"T");1))



"Manu" a écrit dans le message de
groupe de
discussion :
#
Bonjour,

Malgrés deja toute l'aide apporter par diverses personnes dont
Daniel,
Misange, Sam..., je ne m'en sort pas encore totalement.

J'espere y parvenir à condition de réussir cette formule avec
laquelle
je
galere et que je vous détail sur le cijoint (ce sera + clair).
Merci
pour
toutes aides, j'en ai besoin.
http://www.cijoint.fr/cjlink.php?file=cj201004/cijmesyLSw.xls
Merci

Manu
























Avatar
Manu
Merci Denis "Moi, je pense à Manu, il faut lui laisser un peu de travail
sinon il va nous en vouloir !"

Sans votre aide j'etais paumé et je ne vous raconte pas le temps que j'ai
deja passé, et maintenant grace à vos solutions, je sais que c'est une
broutille qui bloque et que je ne trouve pas, mais cette broutille me fait
passer un temps fou. l'avantage c'est qu'à chacune de vos solutions, ca
m'oblige à les decortiquer pour les comprendre, ces formules me feront bcp
progresser.

Alors ne t'inquietes pas, je ne t'en voudrais pas si tu viens encore à mon
secours ! En tout cas votre aide me reconforte enormement car je crois que
j'aurais certainement laissé tombé.

Manu

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


Bonjour Misange,

| et dans la formule =sommeprod((mesdates blablabla
| au lieu de sommeprod((indirect(monadresse) blablabla

Bien vu Misange.

Dans les références à mes deux noms, j'aurais pu inclure (indirect())
ceci aurait donné :
Pour AdrD
=INDIRECT(ADRESSE(EQUIV(Bilan!$E$11;Bilan!$A:$A;1);1)&":"&ADRESSE(EQUIV(Bilan!$E$12;Bilan!$A:$A;1);1))
Pour AdrF
=INDIRECT(ADRESSE(EQUIV(Bilan!$E$11;Bilan!$A:$A;1);2)&":"&ADRESSE(EQUIV(Bilan!$E$12;Bilan!$A:$A;1);2))

Ainsi ma formule aurait ressemblé à ceci dans la cellule : (sans indirect)
=SOMME(SI(ESTNUM(EQUIV(AdrD;G2:G8;0))*(JOURSEM(AdrD;2)>5)*(AdrJ={"PP"."PL"."OP"."KK"."SS"."OO"."GG"."BBB"."ZZ"."EE"."YY"."MM"."RR"});1))

Est-ce que cela change quelque chose au niveau de l'efficience et du
temps de traitement par Excel ? Je ne suis pas convaincu, mais
j'admets que cette présentation peut-être plus facile à lire.

Je suis d'accord avec toi, la présentation de ta formule est plus courte :
=INDIRECT("A" & EQUIV(bilan!$E$11;bilan!$A:$A;0) & ":A" &
EQUIV(bilan!$E$12;bilan!$A:$A;0))

Mais la mienne à l'avantage d'être plus simple à saisir ...;-)) , je n'ai
qu'à modifier
le 1 pour le 2
selon la colonne. Perso, ce n'est pas négligeable... ;-))

Manu pourrait aussi remplacer bilan!$E$11 et bilan!$E$12 par des "NOMS",
toujours
utile en cas de suppression d'une ligne le cas échéant. La même chose
pourrait
s'appliquer pour bilan!$A:$A

En dans ma formule principale, on pourrait aussi remplacer le tableau
des codes par un NOM et faire de même pour la plage des jours fériés. La
nouvelle formule se lirait comme suit :
=SOMME(SI(ESTNUM(EQUIV(AdrD;JrsFériés;0))*(JOURSEM(AdrD;2)>5)*(AdrJ=Code);1))

Moi, je pense à Manu, il faut lui laisser un peu de travail sinon il va
nous en vouloir !
;-)

Maintenant concernant la formule principale :
|
=SOMMEPROD((JOURSEM(mesdates;2)>5)*(NB.SI(fériés;mesdates)<>0)*(mescodes<>"T"))

Si tu compares le comportement de ta formule à la mienne, force est
de constater que les deux formules ne sont pas semblables et qu'elles
ne renvoient pas le même résultat. À titre d'exemple, si tu enlèves tous
les codes saisis en colonne B, ta formule retourne 3 au lieu de 0.
Manu, selon ses besoins décidera ce qui lui convient le mieux.

Bon dimanche.


Avatar
Manu
Peut-etre que j'ai trouvé ce qui manquait, il faut encore que je test,

la formule devrait etre ceci :
=SOMMEPROD((JOURSEM(Mesdates;2)>5)*(NB.SI(JOURS_feries;Mesdates)<>0)*(Mescodes<>"T")*(Mescodes<>""))

Car si on ne rajoutes pas *(Mescodes<>"") alors il se moquera de ce qu'il y
a de taper dans la colonne C et ne compteras que les jours feriés tombant un
WE.

Dites moi ce que vous en pensez.

Merci

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

J'ai suivi scrupuleusement tes informations, et si je supprime toutes les
frappes de la colonne C de la feuil recap, j'ai desormais un resultat de 1
si j'ajoute du texte dans la cellule C369 correspondant au samedi 25
decembre, le resultat est tjrs de 1 .......

Peux tu verifier sur mon fichier joint que j'ai bien suivi tes consignes.
Merci
http://www.cijoint.fr/cjlink.php?file=cj201004/cijTV8Pe2X.xls

Manu


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

mais non !
pour mesdates :
=INDIRECT("B" & EQUIV(JT!$E$8;RECAP!$B:$B;0) & ":B" &
EQUIV(JT!$E$9;RECAP!$B:$B;0))

pour mescodes
=INDIRECT(GAUCHE(ADRESSE(1;COLONNE();4);NBCAR(ADRESSE(1;COLONNE();4))-1)
& EQUIV(JT!$E$8;RECAP!$B:$B;0) & ":" &
GAUCHE(ADRESSE(1;COLONNE();4);NBCAR(ADRESSE(1;COLONNE();4))-1) &
EQUIV(JT!$E$9;RECAP!$B:$B;0))

et pour trouver donc le nombre de jours fériés tombant un week end
pendant la période considérée et ou le code soit différent de T

=SOMMEPROD((JOURSEM(Mesdates;2)>5)*(NB.SI(JOURS_feries;Mesdates)<>0)*(Mescodes<>"T"))
que tu mets où tu veux du moment que c'est dans la colonne correspondant
au salarié pour lequel tu fais le décompte.

Misange migrateuse
http://www.excelabo.net


Manu a écrit :
Est ce que pour mesdates, je garde ceci : =INDIRECT("B" &
EQUIV(JT!$E$8;RECAP!$B$11:$B$375;0) & ":B" &
EQUIV(JT!$E$9;RECAP!$B$11:$B$375;0))
Car pour l'instant avec ceci en mesdates et ton nouvel adressage dans
mescodes, j'ai toujours rien comme resultat.
Je pense qu'il ne faut pas toucher à ta formule :
=SOMMEPROD((JOURSEM(Mesdates;2)>5)*(NB.SI(JOURS_feries;Mesdates)<>0)*(Mescodes<>"T"))
Manu

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

Pour adapter à la colonne, plutot que de mettre le N° de la colonne
dans une cellule comme tu l'as fait, utilise soit colonne() qui te le
renvoie directement soit, pour récupérer la lettre de la colonne,
utilise ceci
=GAUCHE(ADRESSE(1;COLONNE();4);NBCAR(ADRESSE(1;COL ONNE();4))-1)

avec cette dernière soluce, "ma" def de mescodes devient:

=INDIRECT(GAUCHE(ADRESSE(1;COLONNE();4);NBCAR(ADRESSE(1;COLONNE();4))-1)
& EQUIV(JT!$E$8;RECAP!$B:$B;0) & ":" &
GAUCHE(ADRESSE(1;COLONNE();4);NBCAR(ADRESSE(1;COLONNE();4))-1) &
EQUIV(JT!$E$9;RECAP!$B:$B;0))

il ne te reste plus qu'à la tirer vers la droite et ça marche. (ouf !!)
après c'est comme tu veux t'y choises !

Misange migrateuse
http://www.excelabo.net


Manu a écrit :
Est ce que ca signifie que je devrais faire :
=equiv(datecherchée;touteslesdates;0)+11 ?

Pour le nombre de personnes ca peut s'arranger facilement et ca peut
se tirer vers la droite avec la methode de denis en faisant pour adrJ
:

j'ai remplacé
­RESSE(EQUIV(JT!$E$8;RECAP!$B$11:$B$375;1);3)&":"&ADRESSE(EQUIV(JT!$E$9;RECAP!$B$11:$B$375;1);3)
par :
­RESSE(EQUIV(JT!$E$8;RECAP!$B$11:$B$375;1);RECAP!C381)&":"&ADRESSE(EQUIV(JT!$E$9;RECAP!$B$11:$B$375;1);RECAP!C381)

J'ai tapé en C381 : 3
D381 : 4
etc... ainsi l'adressage de adrJ peut coller

Pour la tienne, je comptais remplacer mescodes : =INDIRECT("C" &
EQUIV(JT!$E$8;RECAP!$B$11:$B$375;0) & ":C" &
EQUIV(JT!$E$9;RECAP!$B$11:$B$375;0))
par des lettre en ligne 382 ce qui donnerais : =INDIRECT(C382 &
EQUIV(JT!$E$8;RECAP!$B$11:$B$375;0) & ":"&C382 &
EQUIV(JT!$E$9;RECAP!$B$11:$B$375;0))

En revanche il est vrai que je n'ais absolument pas pensé à
l'hypothese du 08 mai et le jeudi de l'ascension si ils tombent le
même jour, mais je ne vois pas où ca peut me gener car je ne souhaite
compter que les cellules pleines tombant un jour ferié tombant un
samedi et dimanche, le jeudi de l'ascension tombant tjrs un jeudi, je
ne suis pas concerné.

Manu


"Misange" a écrit dans le message de
news:
Tu as loupé pas mal de choses en fait :-)
la fonction equiv te renvoie la position d'un item dans un tableau.
Dans le cas présent, si tu veux utiliser cette position pour la
transformer en adresse, il faut absolument que tu tiennes compte de
l'organisation de tes données. Dans ta feuille récap, tes dates
démarrent à la ligne 11
si tu fait =equiv(datecherchée;touteslesdates;0) ca va te renvoyer
par exemple 1 pour le premier janvier. MAis l'adresse de cette
cellule n'est pas B1 mais B12 car la première ligne de ton tableau
démarre en 12 !

donc ce qui débloque c'est la définition de tes noms, pas les
formules.
Par ailleurs tu nous as donné un exemple ou il n'y avait qu'une
personne. Voilà maintenant qu'il y en a plein. La formule (la mienne
ou celle de Denis d'ailleurs) telle qu'elle est écrite n'est pas
"tirable" vers la droite puisque mescodes (ou l'équivalent pour
Denis) fait référence explicitement à la colonne C qui est celle de
Titi.

Tu as encore oublié de gérer une situation qui ne se présente pas
tous les ans mais qui est bien réelle : que se passe-t-il quand le 8
mai et le jeudi de l'ascension tombent le même jour ?

Misange migrateuse
http://www.excelabo.net


Manu a écrit :
Tu as raison Misange, désolé pour ces changements de Ref, su le
fichier ci-dessous en esperant qu'il puisse s'ouvrir, j'ai adapté ta
methode ainsi que celle de denis dans la feuil recap. Le resultat me
donne tjrs un resultat vide, je pense que ce doit etre une mini
erreur de ma part, mais impossible à trouver.
Avec ce fichier exemple et adapté, j'epere que vous pourrez me
stipuler mon erreur. Merci
http://www.cijoint.fr/cjlink.php?file=cj201004/cijPwWyMbF.xls
Manu

"Misange" a écrit dans le message de
news:
Manu, si tu passes ton temps à changer les références dans les
exemples que tu donnes, tu ne nous simplifies pas le boulot !!!
de toutes façons je ne peux pas ouvrir ton classeur, excel y trouve
un contenu illisible.

A toi de comprendre (ou pas mais dans ce cas la demande des
explications) les formules qu'on te propose et de les adapter.
Misange migrateuse
http://www.excelabo.net


Manu a écrit :
Ci joint le fichier, la formule se situe en C380 feuil Recap,
bizarre, car je pense ne pas avoir loupé quoi que ce soit.
http://www.cijoint.fr/cjlink.php?file=cj201004/cijGld5maK.xls
Merci

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

Je ne pige pas mon erreur,

Voici ce que j'ai mis comme Nom à adrD et adrJ
adrD :
­RESSE(EQUIV('JT'!$E$8;RECAP!$B$11:$B$376;1);2)&":"&ADRESSE(EQUIV('JT'!$E$9;RECAP!$B$11:$B$376;1);2)
adrJ :
­RESSE(EQUIV('JT'!$E$8;RECAP!$B$11:$B$376;1);3)&":"&ADRESSE(EQUIV('JT'!$E$9;RECAP!$B$11:$B$376;1);3)


















Mes dates criteres sont dans la feuil JT en E8 et E9
Mes dates de recherches sont dans la feuil RECAP de B11 à B376
et les recherches de PP ; KK ; RR ..... se trouvent de C11 à C376

Et la formule de Denis, je l'ai placé sur la feuil RECAP en C380
:
=SOMME(SI(ESTNUM(EQUIV(INDIRECT(adrD);JOURS_feries;0))*(JOURSEM(INDIRECT(adrD);2)>5)*(INDIRECT(adrJ)={"PP"."KK"."AA"."RR"});1))

Mes jours fériés sont sur une autre feuil mais nommé :
JOURS_feries

J'ai vraiment le sentiment de n'avoir fait aucune erreur et
pourtant si je met PP le samedi 25 decembre 2010, le resultat est
vide. la formule ne me renvoie un code erreur, mais me donne un
resultat vide

Avez vous une idée ?

Merci

Manu

"michdenis" a écrit dans le message de
news:
| inclure cette notion de choix des dates de facon
| que si je change de dates, la formules fonctionnes
| entre ces 2 dates.

Suppose que tu conserves ces 2 mêmes cellules pour faire
ton calcul mais que tu veuilles modifier les dates.

A ) Crée 2 noms (insertion / nom / définir
Nom 1 = AdrD pour la colonne des dates
Fait référence à :
­RESSE(EQUIV($E$11;$A:$A;1);1)&":"&ADRESSE(EQUIV($E$12;$A:$A;1);1)
La formule suivante suppose que tes dates sont en ordre
croissant à cause de:
du "1" dans EQUIV($E$11;$A:$A;1). Le traitement est plus rapide.

Nom 2 = AdrJ Pour la colonne des jours "B:B"
Fait référence à
­RESSE(EQUIV($E$11;$A:$A;1);2)&":"&ADRESSE(EQUIV($E$12;$A:$A;1);2)

Maintenant tu insères ces 2 noms dans ta formule générale :

Validation Matricielle : Maj + Ctrl + Enter
=SOMME(SI(ESTNUM(EQUIV(INDIRECT(AdrD);G2:G8;0))*(JOURSEM(INDIRECT(AdrD);2)>5)*(INDIRECT(AdrJ)={"PP"."PL"."OP"."KK"."SS"."OO"."GG"."BBB"."ZZ"."EE"."YY"."MM"."RR"});1))

Voilà.



"Manu" a écrit dans le message de
groupe de discussion :
#
Genial, ca fonctionne impec, et je vous avoue que je n'ais pas
tout saisi
surtout cette partie de la formule :
SI(ESTNUM(EQUIV(A2:A25;G2:G8;0))*(JOURSEM(A2:A25;2)>5

il faut juste desoramais inclure cette notion de choix des dates
de facon
que si je change de dates, la formules fonctionnes entre ces 2
dates.

C'est deja un super avancement,

merci encore

Manu

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

Si tu veux faire un peu plus court :

Validation matricielle :
=SOMME(SI(ESTNUM(EQUIV(A2:A25;G2:G8;0))*(JOURSEM(A2:A25;2)>5)*(B2:B25={"PP"."PL"."OP"."KK"."SS"."OO"."GG"."BBB"."ZZ"."EE"."YY"."MM"."RR"});1))

Je ne sais si PP.PL .... la liste est exhaustive !



"michdenis" a écrit dans le message de
groupe de
discussion :
#
Validation matricielle : Ctrl + Maj + Enter

Ta formule est longue parce que logiguement on ne peut
difficilement
utiliser en même temps <>"T" et <>""
La formule calcule d'abord <>"" et soustrait <>"T"

=SOMME(SI(ESTNUM(EQUIV(A2:A25;G2:G8;0))*(JOURSEM(A2:A25;2)>5)*(B2:B25<>"");1))-SOMME(SI(ESTNUM(EQUIV(A2:A25;G2:G8;0))*(JOURSEM(A2:A25;2)>5)*(B2:B25="T");1))



"Manu" a écrit dans le message de
groupe de
discussion :
e0#
Ben... désolé,

Je suppose que c'etait en matrice, je l'ai testé ainsi et si je
supprime
tout le texte en colonne B et que je tape EEE en B2 il me donne
un
resultat
de 3

J'ai testé la formule en normal et là quoi que je fasse le
resultat est
tjrs
egal à 0

Manu

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

Essaie cette formule et on en parle plus ;-))

=SI(NBCAR($B$2:$B$25)>0;SOMME(SI(ESTNUM(EQUIV($A$2:$A$25;$G$2:$G$8;0))*(JOURSEM($A$2:$A$25;2)>5)*($B$2:$B$25<>"T");1));0)



"Manu" a écrit dans le message de
groupe de
discussion :

Bonjour Michdenis,

Ca ne fonctionne pas, car meme si je supprime tout ce qui est
colonne B,
la
formule trouve toujours 3

Le but etant de compter les cellules pleine de la col B hormis
si c'est
un
T
et qui soit un jour férié et qui tombe un samedi / dimanche
entre le
critere
de date stipulé en E11:E12 (ces dates seront bien sur
variable).

Manu


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

Bonjour,

En supposant que j'ai compris ton problème, la formule
serait :

Validation matricielle : Ctrl + Maj + Enter
=SOMME(SI(ESTNUM(EQUIV(A2:A25;G2:G8;0))*(JOURSEM(A2:A25;2)>5)*(B2:B25<>"T");1))



"Manu" a écrit dans le message de
groupe de
discussion :
#
Bonjour,

Malgrés deja toute l'aide apporter par diverses personnes
dont Daniel,
Misange, Sam..., je ne m'en sort pas encore totalement.

J'espere y parvenir à condition de réussir cette formule avec
laquelle
je
galere et que je vous détail sur le cijoint (ce sera +
clair). Merci
pour
toutes aides, j'en ai besoin.
http://www.cijoint.fr/cjlink.php?file=cj201004/cijmesyLSw.xls
Merci

Manu






























1 2 3 4 5