Bonjour à tous,
étant vraiment pas à l'aise avec les dates, je me demandais si quelqu'un
avait une astuce pour trouver le nombre de semaines selon l'année étudiée
(52 ou 53) .
Merci pour votre aide
Choko
Bonjour à tous,
étant vraiment pas à l'aise avec les dates, je me demandais si quelqu'un
avait une astuce pour trouver le nombre de semaines selon l'année étudiée
(52 ou 53) .
Merci pour votre aide
Choko
Bonjour à tous,
étant vraiment pas à l'aise avec les dates, je me demandais si quelqu'un
avait une astuce pour trouver le nombre de semaines selon l'année étudiée
(52 ou 53) .
Merci pour votre aide
Choko
Bonjour à tous,
étant vraiment pas à l'aise avec les dates, je me demandais si quelqu'un
avait une astuce pour trouver le nombre de semaines selon l'année étudiée
(52 ou 53) .
Merci pour votre aide
Choko
Bonjour à tous,
étant vraiment pas à l'aise avec les dates, je me demandais si quelqu'un
avait une astuce pour trouver le nombre de semaines selon l'année étudiée
(52 ou 53) .
Merci pour votre aide
Choko
Bonjour à tous,
étant vraiment pas à l'aise avec les dates, je me demandais si quelqu'un
avait une astuce pour trouver le nombre de semaines selon l'année étudiée
(52 ou 53) .
Merci pour votre aide
Choko
Bonjour,
Avec l'année en A1 (par ex: 2004) :
R+ET(JOURSEM(DATE(A1;{2;8};))>5)
Salutations,
Daniel M.
"choko" wrote in message
news:%Bonjour à tous,
étant vraiment pas à l'aise avec les dates, je me demandais si quelqu'un
avait une astuce pour trouver le nombre de semaines selon l'année
étudiée
(52 ou 53) .
Merci pour votre aide
Choko
Bonjour,
Avec l'année en A1 (par ex: 2004) :
R+ET(JOURSEM(DATE(A1;{2;8};))>5)
Salutations,
Daniel M.
"choko" <choko04@yahoo.fr> wrote in message
news:%23Xb5DYRhEHA.3988@tk2msftngp13.phx.gbl...
Bonjour à tous,
étant vraiment pas à l'aise avec les dates, je me demandais si quelqu'un
avait une astuce pour trouver le nombre de semaines selon l'année
étudiée
(52 ou 53) .
Merci pour votre aide
Choko
Bonjour,
Avec l'année en A1 (par ex: 2004) :
R+ET(JOURSEM(DATE(A1;{2;8};))>5)
Salutations,
Daniel M.
"choko" wrote in message
news:%Bonjour à tous,
étant vraiment pas à l'aise avec les dates, je me demandais si quelqu'un
avait une astuce pour trouver le nombre de semaines selon l'année
étudiée
(52 ou 53) .
Merci pour votre aide
Choko
Bonjour,
Avec l'année en A1 (par ex: 2004) :
R+ET(JOURSEM(DATE(A1;{2;8};))>5)
Salutations,
Daniel M.
"choko" wrote in message
news:%Bonjour à tous,
étant vraiment pas à l'aise avec les dates, je me demandais si quelqu'un
avait une astuce pour trouver le nombre de semaines selon l'année
étudiée
(52 ou 53) .
Merci pour votre aide
Choko
Bonjour,
Avec l'année en A1 (par ex: 2004) :
R+ET(JOURSEM(DATE(A1;{2;8};))>5)
Salutations,
Daniel M.
"choko" <choko04@yahoo.fr> wrote in message
news:%23Xb5DYRhEHA.3988@tk2msftngp13.phx.gbl...
Bonjour à tous,
étant vraiment pas à l'aise avec les dates, je me demandais si quelqu'un
avait une astuce pour trouver le nombre de semaines selon l'année
étudiée
(52 ou 53) .
Merci pour votre aide
Choko
Bonjour,
Avec l'année en A1 (par ex: 2004) :
R+ET(JOURSEM(DATE(A1;{2;8};))>5)
Salutations,
Daniel M.
"choko" wrote in message
news:%Bonjour à tous,
étant vraiment pas à l'aise avec les dates, je me demandais si quelqu'un
avait une astuce pour trouver le nombre de semaines selon l'année
étudiée
(52 ou 53) .
Merci pour votre aide
Choko
Jacky, je garde le code pour plus tard, car mon appli pourrait
bien le nésseciter.
Je ne comprends pas non plus le {2;8}.....
Jacky, je garde le code pour plus tard, car mon appli pourrait
bien le nésseciter.
Je ne comprends pas non plus le {2;8}.....
Jacky, je garde le code pour plus tard, car mon appli pourrait
bien le nésseciter.
Je ne comprends pas non plus le {2;8}.....
Salut,
' ***************************************Jacky, je garde le code pour plus tard, car mon appli pourrait
bien le nésseciter.
Si tu as besoin de code en VBA, celui-ci est très court:
Annee = 2004 ' ou toute autre année comme 2005, ou Year(Date) pour
l'année
courante
NSemISO = Format(DateSerial(Annee, 12, 28), "ww", vbMonday,
vbFirstFourDays)
En d'autres mots, le 28 décembre est toujours 7 jours avant le 4 janvier
de l'an
suivant.
Et selon les normes ISO, le 4 janvier est toujours dans la première
semaine ISO
de son année.
Conclusion logique: le 28 décembre est toujours dans la dernière semaine
ISO de
son année.
Retournons donc la semaine de ce 28 décembre pour avoir le nombre de
semaines de
cette année.Je ne comprends pas non plus le {2;8}.....
Préambule:
========= > Année non-bissextile: le 3 janvier DOIT être le samedi (rien d'autre).
Pour tout
autre jour du 3 janvier (lundi, mardi etc), il n'y a pas assez de jours
dans
l'année pour faire 53 semaines.
Année bissextile: le 3 janvier doit être le samedi ou vendredi et, dans ce
dernier cas, on s'aperçoit que le 1 janvier de l'année suivante tombe un
vendredi (toujours).
3 janvier An ==> vendredi (pour AN bissextile seulement) ou samedi
1 jan (An+1) ==> vendredi ou samedi
Conclusion: Les seules années qui auront 53 semaines seront celles où :
le 3 janvier est un vendredi ou samedi
ET
le 1er janvier de l'année suivante tombe un vendredi ou samedi.
Transformation des dates pour d'autres plus simples à écrire:
============================================================ > JOURSEM(3 jan An)
= JOURSEM(3 jan An + 28 jours)
= JOURSEM(31 jan An)
= JOURSEM(0 fev An)
= JOURSEM(DATE(An,2,0))
JOURSEM(1 jan (An+1))
= JOURSEM(1 jan (An+1) - 154 jours) ' 154 est divisible sans reste
par 7
= JOURSEM(31 juillet An)
= JOURSEM(0 août An)
= JOURSEM(DATE(An,8,0))
Et ces 2 dates devront retourner un JOURSEM > 5 (un vendredi ou un
samedi).
R+ET(JOURSEM(DATE(A1;2;0))>5;JOURSEM(DATE(A1;8;0))>5)
R+ET(JOURSEM(DATE(A1;{2;8};))>5)
Beaucoup d'autres couples de dates (de part et d'autre du 28 février)
peuvent
donc donner la bonne réponse, l'intérêt de ces deux dates est qu'elles se
représentent de façon succinte dans une matricielle implicite parce
qu'elles
sont le même jour (i.e. 0) et qu'en plus, comme ce jour = 0, on peut
omettre
d'inscrire ce 0 dans la formule.
Salutations,
Daniel M.
Salut,
' ***************************************
Jacky, je garde le code pour plus tard, car mon appli pourrait
bien le nésseciter.
Si tu as besoin de code en VBA, celui-ci est très court:
Annee = 2004 ' ou toute autre année comme 2005, ou Year(Date) pour
l'année
courante
NSemISO = Format(DateSerial(Annee, 12, 28), "ww", vbMonday,
vbFirstFourDays)
En d'autres mots, le 28 décembre est toujours 7 jours avant le 4 janvier
de l'an
suivant.
Et selon les normes ISO, le 4 janvier est toujours dans la première
semaine ISO
de son année.
Conclusion logique: le 28 décembre est toujours dans la dernière semaine
ISO de
son année.
Retournons donc la semaine de ce 28 décembre pour avoir le nombre de
semaines de
cette année.
Je ne comprends pas non plus le {2;8}.....
Préambule:
========= > Année non-bissextile: le 3 janvier DOIT être le samedi (rien d'autre).
Pour tout
autre jour du 3 janvier (lundi, mardi etc), il n'y a pas assez de jours
dans
l'année pour faire 53 semaines.
Année bissextile: le 3 janvier doit être le samedi ou vendredi et, dans ce
dernier cas, on s'aperçoit que le 1 janvier de l'année suivante tombe un
vendredi (toujours).
3 janvier An ==> vendredi (pour AN bissextile seulement) ou samedi
1 jan (An+1) ==> vendredi ou samedi
Conclusion: Les seules années qui auront 53 semaines seront celles où :
le 3 janvier est un vendredi ou samedi
ET
le 1er janvier de l'année suivante tombe un vendredi ou samedi.
Transformation des dates pour d'autres plus simples à écrire:
============================================================ > JOURSEM(3 jan An)
= JOURSEM(3 jan An + 28 jours)
= JOURSEM(31 jan An)
= JOURSEM(0 fev An)
= JOURSEM(DATE(An,2,0))
JOURSEM(1 jan (An+1))
= JOURSEM(1 jan (An+1) - 154 jours) ' 154 est divisible sans reste
par 7
= JOURSEM(31 juillet An)
= JOURSEM(0 août An)
= JOURSEM(DATE(An,8,0))
Et ces 2 dates devront retourner un JOURSEM > 5 (un vendredi ou un
samedi).
R+ET(JOURSEM(DATE(A1;2;0))>5;JOURSEM(DATE(A1;8;0))>5)
R+ET(JOURSEM(DATE(A1;{2;8};))>5)
Beaucoup d'autres couples de dates (de part et d'autre du 28 février)
peuvent
donc donner la bonne réponse, l'intérêt de ces deux dates est qu'elles se
représentent de façon succinte dans une matricielle implicite parce
qu'elles
sont le même jour (i.e. 0) et qu'en plus, comme ce jour = 0, on peut
omettre
d'inscrire ce 0 dans la formule.
Salutations,
Daniel M.
Salut,
' ***************************************Jacky, je garde le code pour plus tard, car mon appli pourrait
bien le nésseciter.
Si tu as besoin de code en VBA, celui-ci est très court:
Annee = 2004 ' ou toute autre année comme 2005, ou Year(Date) pour
l'année
courante
NSemISO = Format(DateSerial(Annee, 12, 28), "ww", vbMonday,
vbFirstFourDays)
En d'autres mots, le 28 décembre est toujours 7 jours avant le 4 janvier
de l'an
suivant.
Et selon les normes ISO, le 4 janvier est toujours dans la première
semaine ISO
de son année.
Conclusion logique: le 28 décembre est toujours dans la dernière semaine
ISO de
son année.
Retournons donc la semaine de ce 28 décembre pour avoir le nombre de
semaines de
cette année.Je ne comprends pas non plus le {2;8}.....
Préambule:
========= > Année non-bissextile: le 3 janvier DOIT être le samedi (rien d'autre).
Pour tout
autre jour du 3 janvier (lundi, mardi etc), il n'y a pas assez de jours
dans
l'année pour faire 53 semaines.
Année bissextile: le 3 janvier doit être le samedi ou vendredi et, dans ce
dernier cas, on s'aperçoit que le 1 janvier de l'année suivante tombe un
vendredi (toujours).
3 janvier An ==> vendredi (pour AN bissextile seulement) ou samedi
1 jan (An+1) ==> vendredi ou samedi
Conclusion: Les seules années qui auront 53 semaines seront celles où :
le 3 janvier est un vendredi ou samedi
ET
le 1er janvier de l'année suivante tombe un vendredi ou samedi.
Transformation des dates pour d'autres plus simples à écrire:
============================================================ > JOURSEM(3 jan An)
= JOURSEM(3 jan An + 28 jours)
= JOURSEM(31 jan An)
= JOURSEM(0 fev An)
= JOURSEM(DATE(An,2,0))
JOURSEM(1 jan (An+1))
= JOURSEM(1 jan (An+1) - 154 jours) ' 154 est divisible sans reste
par 7
= JOURSEM(31 juillet An)
= JOURSEM(0 août An)
= JOURSEM(DATE(An,8,0))
Et ces 2 dates devront retourner un JOURSEM > 5 (un vendredi ou un
samedi).
R+ET(JOURSEM(DATE(A1;2;0))>5;JOURSEM(DATE(A1;8;0))>5)
R+ET(JOURSEM(DATE(A1;{2;8};))>5)
Beaucoup d'autres couples de dates (de part et d'autre du 28 février)
peuvent
donc donner la bonne réponse, l'intérêt de ces deux dates est qu'elles se
représentent de façon succinte dans une matricielle implicite parce
qu'elles
sont le même jour (i.e. 0) et qu'en plus, comme ce jour = 0, on peut
omettre
d'inscrire ce 0 dans la formule.
Salutations,
Daniel M.
Merci Daniel pour cette magnifique explication.
Si je comprend parfaitement cette formule
R+ET(JOURSEM(DATE(A1;2;0))>5;JOURSEM(DATE(A1;8;0))>5)
la syntaxe de celle-ci:
R+ET(JOURSEM(DATE(A1;{2;8};))>5)
me pose problème, particulièrement {2;8}
D'accord , elle sont identique, mais je ne saisis pas la logique pour
arriver à cette syntaxe.
Pourrais-tu éclairer ma petite lanterne ?
Merci
JJ
"Daniel.M" a écrit dans le message de
news:Salut,
' ***************************************Jacky, je garde le code pour plus tard, car mon appli pourrait
bien le nésseciter.
Si tu as besoin de code en VBA, celui-ci est très court:
Annee = 2004 ' ou toute autre année comme 2005, ou Year(Date) pour
l'annéecourante
NSemISO = Format(DateSerial(Annee, 12, 28), "ww", vbMonday,
vbFirstFourDays)
En d'autres mots, le 28 décembre est toujours 7 jours avant le 4 janvier
de l'ansuivant.
Et selon les normes ISO, le 4 janvier est toujours dans la première
semaine ISOde son année.
Conclusion logique: le 28 décembre est toujours dans la dernière semaine
ISO deson année.
Retournons donc la semaine de ce 28 décembre pour avoir le nombre de
semaines decette année.Je ne comprends pas non plus le {2;8}.....
Préambule:
========= > > Année non-bissextile: le 3 janvier DOIT être le samedi (rien d'autre).
Pour toutautre jour du 3 janvier (lundi, mardi etc), il n'y a pas assez de jours
dansl'année pour faire 53 semaines.
Année bissextile: le 3 janvier doit être le samedi ou vendredi et, dans ce
dernier cas, on s'aperçoit que le 1 janvier de l'année suivante tombe un
vendredi (toujours).
3 janvier An ==> vendredi (pour AN bissextile seulement) ou samedi
1 jan (An+1) ==> vendredi ou samedi
Conclusion: Les seules années qui auront 53 semaines seront celles où :
le 3 janvier est un vendredi ou samedi
ET
le 1er janvier de l'année suivante tombe un vendredi ou samedi.
Transformation des dates pour d'autres plus simples à écrire:
============================================================ > > JOURSEM(3 jan An)
= JOURSEM(3 jan An + 28 jours)
= JOURSEM(31 jan An)
= JOURSEM(0 fev An)
= JOURSEM(DATE(An,2,0))
JOURSEM(1 jan (An+1))
= JOURSEM(1 jan (An+1) - 154 jours) ' 154 est divisible sans reste
par 7= JOURSEM(31 juillet An)
= JOURSEM(0 août An)
= JOURSEM(DATE(An,8,0))
Et ces 2 dates devront retourner un JOURSEM > 5 (un vendredi ou un
samedi).
R+ET(JOURSEM(DATE(A1;2;0))>5;JOURSEM(DATE(A1;8;0))>5)
R+ET(JOURSEM(DATE(A1;{2;8};))>5)
Beaucoup d'autres couples de dates (de part et d'autre du 28 février)
peuventdonc donner la bonne réponse, l'intérêt de ces deux dates est qu'elles se
représentent de façon succinte dans une matricielle implicite parce
qu'ellessont le même jour (i.e. 0) et qu'en plus, comme ce jour = 0, on peut
omettred'inscrire ce 0 dans la formule.
Salutations,
Daniel M.
Merci Daniel pour cette magnifique explication.
Si je comprend parfaitement cette formule
R+ET(JOURSEM(DATE(A1;2;0))>5;JOURSEM(DATE(A1;8;0))>5)
la syntaxe de celle-ci:
R+ET(JOURSEM(DATE(A1;{2;8};))>5)
me pose problème, particulièrement {2;8}
D'accord , elle sont identique, mais je ne saisis pas la logique pour
arriver à cette syntaxe.
Pourrais-tu éclairer ma petite lanterne ?
Merci
JJ
"Daniel.M" <prenom.maher@bigfoot.inutil.com> a écrit dans le message de
news:ebGVixWhEHA.3928@TK2MSFTNGP11.phx.gbl...
Salut,
' ***************************************
Jacky, je garde le code pour plus tard, car mon appli pourrait
bien le nésseciter.
Si tu as besoin de code en VBA, celui-ci est très court:
Annee = 2004 ' ou toute autre année comme 2005, ou Year(Date) pour
l'année
courante
NSemISO = Format(DateSerial(Annee, 12, 28), "ww", vbMonday,
vbFirstFourDays)
En d'autres mots, le 28 décembre est toujours 7 jours avant le 4 janvier
de l'an
suivant.
Et selon les normes ISO, le 4 janvier est toujours dans la première
semaine ISO
de son année.
Conclusion logique: le 28 décembre est toujours dans la dernière semaine
ISO de
son année.
Retournons donc la semaine de ce 28 décembre pour avoir le nombre de
semaines de
cette année.
Je ne comprends pas non plus le {2;8}.....
Préambule:
========= > > Année non-bissextile: le 3 janvier DOIT être le samedi (rien d'autre).
Pour tout
autre jour du 3 janvier (lundi, mardi etc), il n'y a pas assez de jours
dans
l'année pour faire 53 semaines.
Année bissextile: le 3 janvier doit être le samedi ou vendredi et, dans ce
dernier cas, on s'aperçoit que le 1 janvier de l'année suivante tombe un
vendredi (toujours).
3 janvier An ==> vendredi (pour AN bissextile seulement) ou samedi
1 jan (An+1) ==> vendredi ou samedi
Conclusion: Les seules années qui auront 53 semaines seront celles où :
le 3 janvier est un vendredi ou samedi
ET
le 1er janvier de l'année suivante tombe un vendredi ou samedi.
Transformation des dates pour d'autres plus simples à écrire:
============================================================ > > JOURSEM(3 jan An)
= JOURSEM(3 jan An + 28 jours)
= JOURSEM(31 jan An)
= JOURSEM(0 fev An)
= JOURSEM(DATE(An,2,0))
JOURSEM(1 jan (An+1))
= JOURSEM(1 jan (An+1) - 154 jours) ' 154 est divisible sans reste
par 7
= JOURSEM(31 juillet An)
= JOURSEM(0 août An)
= JOURSEM(DATE(An,8,0))
Et ces 2 dates devront retourner un JOURSEM > 5 (un vendredi ou un
samedi).
R+ET(JOURSEM(DATE(A1;2;0))>5;JOURSEM(DATE(A1;8;0))>5)
R+ET(JOURSEM(DATE(A1;{2;8};))>5)
Beaucoup d'autres couples de dates (de part et d'autre du 28 février)
peuvent
donc donner la bonne réponse, l'intérêt de ces deux dates est qu'elles se
représentent de façon succinte dans une matricielle implicite parce
qu'elles
sont le même jour (i.e. 0) et qu'en plus, comme ce jour = 0, on peut
omettre
d'inscrire ce 0 dans la formule.
Salutations,
Daniel M.
Merci Daniel pour cette magnifique explication.
Si je comprend parfaitement cette formule
R+ET(JOURSEM(DATE(A1;2;0))>5;JOURSEM(DATE(A1;8;0))>5)
la syntaxe de celle-ci:
R+ET(JOURSEM(DATE(A1;{2;8};))>5)
me pose problème, particulièrement {2;8}
D'accord , elle sont identique, mais je ne saisis pas la logique pour
arriver à cette syntaxe.
Pourrais-tu éclairer ma petite lanterne ?
Merci
JJ
"Daniel.M" a écrit dans le message de
news:Salut,
' ***************************************Jacky, je garde le code pour plus tard, car mon appli pourrait
bien le nésseciter.
Si tu as besoin de code en VBA, celui-ci est très court:
Annee = 2004 ' ou toute autre année comme 2005, ou Year(Date) pour
l'annéecourante
NSemISO = Format(DateSerial(Annee, 12, 28), "ww", vbMonday,
vbFirstFourDays)
En d'autres mots, le 28 décembre est toujours 7 jours avant le 4 janvier
de l'ansuivant.
Et selon les normes ISO, le 4 janvier est toujours dans la première
semaine ISOde son année.
Conclusion logique: le 28 décembre est toujours dans la dernière semaine
ISO deson année.
Retournons donc la semaine de ce 28 décembre pour avoir le nombre de
semaines decette année.Je ne comprends pas non plus le {2;8}.....
Préambule:
========= > > Année non-bissextile: le 3 janvier DOIT être le samedi (rien d'autre).
Pour toutautre jour du 3 janvier (lundi, mardi etc), il n'y a pas assez de jours
dansl'année pour faire 53 semaines.
Année bissextile: le 3 janvier doit être le samedi ou vendredi et, dans ce
dernier cas, on s'aperçoit que le 1 janvier de l'année suivante tombe un
vendredi (toujours).
3 janvier An ==> vendredi (pour AN bissextile seulement) ou samedi
1 jan (An+1) ==> vendredi ou samedi
Conclusion: Les seules années qui auront 53 semaines seront celles où :
le 3 janvier est un vendredi ou samedi
ET
le 1er janvier de l'année suivante tombe un vendredi ou samedi.
Transformation des dates pour d'autres plus simples à écrire:
============================================================ > > JOURSEM(3 jan An)
= JOURSEM(3 jan An + 28 jours)
= JOURSEM(31 jan An)
= JOURSEM(0 fev An)
= JOURSEM(DATE(An,2,0))
JOURSEM(1 jan (An+1))
= JOURSEM(1 jan (An+1) - 154 jours) ' 154 est divisible sans reste
par 7= JOURSEM(31 juillet An)
= JOURSEM(0 août An)
= JOURSEM(DATE(An,8,0))
Et ces 2 dates devront retourner un JOURSEM > 5 (un vendredi ou un
samedi).
R+ET(JOURSEM(DATE(A1;2;0))>5;JOURSEM(DATE(A1;8;0))>5)
R+ET(JOURSEM(DATE(A1;{2;8};))>5)
Beaucoup d'autres couples de dates (de part et d'autre du 28 février)
peuventdonc donner la bonne réponse, l'intérêt de ces deux dates est qu'elles se
représentent de façon succinte dans une matricielle implicite parce
qu'ellessont le même jour (i.e. 0) et qu'en plus, comme ce jour = 0, on peut
omettred'inscrire ce 0 dans la formule.
Salutations,
Daniel M.
c'est la manière de représenter les constantes matricielles
J'ai beaucoup de mal avec cela, il va falloir que je m'y mette à
Hello,
Quoi dire sinon que c'est la manière de représenter les constantes
matricielles
dans une formule. L'aide d'Excel (constantes matricielles) pourrait t'en
dire un
peu plus.
Dans le cas qui nous occupe, DATE(A1;{2;8};) génère 2 dates : le 31
janvier et
le 31 juillet de l'an A1. On récupère le JOURSEM de ces dates et on les
compare
à 5. Si les 2 sont plus grands que 5, le ET sera VRAI.
Et 52+VRAI donne 53.
Salutations,
Daniel M.
"Jacky" wrote in message
news:Merci Daniel pour cette magnifique explication.
Si je comprend parfaitement cette formule
R+ET(JOURSEM(DATE(A1;2;0))>5;JOURSEM(DATE(A1;8;0))>5)
la syntaxe de celle-ci:
R+ET(JOURSEM(DATE(A1;{2;8};))>5)
me pose problème, particulièrement {2;8}
D'accord , elle sont identique, mais je ne saisis pas la logique pour
arriver à cette syntaxe.
Pourrais-tu éclairer ma petite lanterne ?
Merci
JJ
"Daniel.M" a écrit dans le message de
news:Salut,
' ***************************************Jacky, je garde le code pour plus tard, car mon appli pourrait
bien le nésseciter.
Si tu as besoin de code en VBA, celui-ci est très court:
Annee = 2004 ' ou toute autre année comme 2005, ou Year(Date) pour
l'annéecourante
NSemISO = Format(DateSerial(Annee, 12, 28), "ww", vbMonday,
vbFirstFourDays)
En d'autres mots, le 28 décembre est toujours 7 jours avant le 4
janvier
de l'ansuivant.
Et selon les normes ISO, le 4 janvier est toujours dans la première
semaine ISOde son année.
Conclusion logique: le 28 décembre est toujours dans la dernière
semaine
ISO deson année.
Retournons donc la semaine de ce 28 décembre pour avoir le nombre de
semaines decette année.Je ne comprends pas non plus le {2;8}.....
Préambule:
========= > > > Année non-bissextile: le 3 janvier DOIT être le samedi (rien d'autre).
Pour toutautre jour du 3 janvier (lundi, mardi etc), il n'y a pas assez de
jours
dansl'année pour faire 53 semaines.
Année bissextile: le 3 janvier doit être le samedi ou vendredi et,
dans ce
dernier cas, on s'aperçoit que le 1 janvier de l'année suivante tombe
un
vendredi (toujours).
3 janvier An ==> vendredi (pour AN bissextile seulement) ou samedi
1 jan (An+1) ==> vendredi ou samedi
Conclusion: Les seules années qui auront 53 semaines seront celles où
:
le 3 janvier est un vendredi ou samedi
ET
le 1er janvier de l'année suivante tombe un vendredi ou samedi.
Transformation des dates pour d'autres plus simples à écrire:
============================================================ > > > JOURSEM(3 jan An)
= JOURSEM(3 jan An + 28 jours)
= JOURSEM(31 jan An)
= JOURSEM(0 fev An)
= JOURSEM(DATE(An,2,0))
JOURSEM(1 jan (An+1))
= JOURSEM(1 jan (An+1) - 154 jours) ' 154 est divisible sans
reste
par 7= JOURSEM(31 juillet An)
= JOURSEM(0 août An)
= JOURSEM(DATE(An,8,0))
Et ces 2 dates devront retourner un JOURSEM > 5 (un vendredi ou un
samedi).
R+ET(JOURSEM(DATE(A1;2;0))>5;JOURSEM(DATE(A1;8;0))>5)
R+ET(JOURSEM(DATE(A1;{2;8};))>5)
Beaucoup d'autres couples de dates (de part et d'autre du 28 février)
peuventdonc donner la bonne réponse, l'intérêt de ces deux dates est qu'elles
se
représentent de façon succinte dans une matricielle implicite parce
qu'ellessont le même jour (i.e. 0) et qu'en plus, comme ce jour = 0, on peut
omettred'inscrire ce 0 dans la formule.
Salutations,
Daniel M.
c'est la manière de représenter les constantes matricielles
J'ai beaucoup de mal avec cela, il va falloir que je m'y mette à
Hello,
Quoi dire sinon que c'est la manière de représenter les constantes
matricielles
dans une formule. L'aide d'Excel (constantes matricielles) pourrait t'en
dire un
peu plus.
Dans le cas qui nous occupe, DATE(A1;{2;8};) génère 2 dates : le 31
janvier et
le 31 juillet de l'an A1. On récupère le JOURSEM de ces dates et on les
compare
à 5. Si les 2 sont plus grands que 5, le ET sera VRAI.
Et 52+VRAI donne 53.
Salutations,
Daniel M.
"Jacky" <Jackyenlevez.jaeg@wanadoo.fr> wrote in message
news:emloRUdhEHA.596@TK2MSFTNGP11.phx.gbl...
Merci Daniel pour cette magnifique explication.
Si je comprend parfaitement cette formule
R+ET(JOURSEM(DATE(A1;2;0))>5;JOURSEM(DATE(A1;8;0))>5)
la syntaxe de celle-ci:
R+ET(JOURSEM(DATE(A1;{2;8};))>5)
me pose problème, particulièrement {2;8}
D'accord , elle sont identique, mais je ne saisis pas la logique pour
arriver à cette syntaxe.
Pourrais-tu éclairer ma petite lanterne ?
Merci
JJ
"Daniel.M" <prenom.maher@bigfoot.inutil.com> a écrit dans le message de
news:ebGVixWhEHA.3928@TK2MSFTNGP11.phx.gbl...
Salut,
' ***************************************
Jacky, je garde le code pour plus tard, car mon appli pourrait
bien le nésseciter.
Si tu as besoin de code en VBA, celui-ci est très court:
Annee = 2004 ' ou toute autre année comme 2005, ou Year(Date) pour
l'année
courante
NSemISO = Format(DateSerial(Annee, 12, 28), "ww", vbMonday,
vbFirstFourDays)
En d'autres mots, le 28 décembre est toujours 7 jours avant le 4
janvier
de l'an
suivant.
Et selon les normes ISO, le 4 janvier est toujours dans la première
semaine ISO
de son année.
Conclusion logique: le 28 décembre est toujours dans la dernière
semaine
ISO de
son année.
Retournons donc la semaine de ce 28 décembre pour avoir le nombre de
semaines de
cette année.
Je ne comprends pas non plus le {2;8}.....
Préambule:
========= > > > Année non-bissextile: le 3 janvier DOIT être le samedi (rien d'autre).
Pour tout
autre jour du 3 janvier (lundi, mardi etc), il n'y a pas assez de
jours
dans
l'année pour faire 53 semaines.
Année bissextile: le 3 janvier doit être le samedi ou vendredi et,
dans ce
dernier cas, on s'aperçoit que le 1 janvier de l'année suivante tombe
un
vendredi (toujours).
3 janvier An ==> vendredi (pour AN bissextile seulement) ou samedi
1 jan (An+1) ==> vendredi ou samedi
Conclusion: Les seules années qui auront 53 semaines seront celles où
:
le 3 janvier est un vendredi ou samedi
ET
le 1er janvier de l'année suivante tombe un vendredi ou samedi.
Transformation des dates pour d'autres plus simples à écrire:
============================================================ > > > JOURSEM(3 jan An)
= JOURSEM(3 jan An + 28 jours)
= JOURSEM(31 jan An)
= JOURSEM(0 fev An)
= JOURSEM(DATE(An,2,0))
JOURSEM(1 jan (An+1))
= JOURSEM(1 jan (An+1) - 154 jours) ' 154 est divisible sans
reste
par 7
= JOURSEM(31 juillet An)
= JOURSEM(0 août An)
= JOURSEM(DATE(An,8,0))
Et ces 2 dates devront retourner un JOURSEM > 5 (un vendredi ou un
samedi).
R+ET(JOURSEM(DATE(A1;2;0))>5;JOURSEM(DATE(A1;8;0))>5)
R+ET(JOURSEM(DATE(A1;{2;8};))>5)
Beaucoup d'autres couples de dates (de part et d'autre du 28 février)
peuvent
donc donner la bonne réponse, l'intérêt de ces deux dates est qu'elles
se
représentent de façon succinte dans une matricielle implicite parce
qu'elles
sont le même jour (i.e. 0) et qu'en plus, comme ce jour = 0, on peut
omettre
d'inscrire ce 0 dans la formule.
Salutations,
Daniel M.
c'est la manière de représenter les constantes matricielles
J'ai beaucoup de mal avec cela, il va falloir que je m'y mette à
Hello,
Quoi dire sinon que c'est la manière de représenter les constantes
matricielles
dans une formule. L'aide d'Excel (constantes matricielles) pourrait t'en
dire un
peu plus.
Dans le cas qui nous occupe, DATE(A1;{2;8};) génère 2 dates : le 31
janvier et
le 31 juillet de l'an A1. On récupère le JOURSEM de ces dates et on les
compare
à 5. Si les 2 sont plus grands que 5, le ET sera VRAI.
Et 52+VRAI donne 53.
Salutations,
Daniel M.
"Jacky" wrote in message
news:Merci Daniel pour cette magnifique explication.
Si je comprend parfaitement cette formule
R+ET(JOURSEM(DATE(A1;2;0))>5;JOURSEM(DATE(A1;8;0))>5)
la syntaxe de celle-ci:
R+ET(JOURSEM(DATE(A1;{2;8};))>5)
me pose problème, particulièrement {2;8}
D'accord , elle sont identique, mais je ne saisis pas la logique pour
arriver à cette syntaxe.
Pourrais-tu éclairer ma petite lanterne ?
Merci
JJ
"Daniel.M" a écrit dans le message de
news:Salut,
' ***************************************Jacky, je garde le code pour plus tard, car mon appli pourrait
bien le nésseciter.
Si tu as besoin de code en VBA, celui-ci est très court:
Annee = 2004 ' ou toute autre année comme 2005, ou Year(Date) pour
l'annéecourante
NSemISO = Format(DateSerial(Annee, 12, 28), "ww", vbMonday,
vbFirstFourDays)
En d'autres mots, le 28 décembre est toujours 7 jours avant le 4
janvier
de l'ansuivant.
Et selon les normes ISO, le 4 janvier est toujours dans la première
semaine ISOde son année.
Conclusion logique: le 28 décembre est toujours dans la dernière
semaine
ISO deson année.
Retournons donc la semaine de ce 28 décembre pour avoir le nombre de
semaines decette année.Je ne comprends pas non plus le {2;8}.....
Préambule:
========= > > > Année non-bissextile: le 3 janvier DOIT être le samedi (rien d'autre).
Pour toutautre jour du 3 janvier (lundi, mardi etc), il n'y a pas assez de
jours
dansl'année pour faire 53 semaines.
Année bissextile: le 3 janvier doit être le samedi ou vendredi et,
dans ce
dernier cas, on s'aperçoit que le 1 janvier de l'année suivante tombe
un
vendredi (toujours).
3 janvier An ==> vendredi (pour AN bissextile seulement) ou samedi
1 jan (An+1) ==> vendredi ou samedi
Conclusion: Les seules années qui auront 53 semaines seront celles où
:
le 3 janvier est un vendredi ou samedi
ET
le 1er janvier de l'année suivante tombe un vendredi ou samedi.
Transformation des dates pour d'autres plus simples à écrire:
============================================================ > > > JOURSEM(3 jan An)
= JOURSEM(3 jan An + 28 jours)
= JOURSEM(31 jan An)
= JOURSEM(0 fev An)
= JOURSEM(DATE(An,2,0))
JOURSEM(1 jan (An+1))
= JOURSEM(1 jan (An+1) - 154 jours) ' 154 est divisible sans
reste
par 7= JOURSEM(31 juillet An)
= JOURSEM(0 août An)
= JOURSEM(DATE(An,8,0))
Et ces 2 dates devront retourner un JOURSEM > 5 (un vendredi ou un
samedi).
R+ET(JOURSEM(DATE(A1;2;0))>5;JOURSEM(DATE(A1;8;0))>5)
R+ET(JOURSEM(DATE(A1;{2;8};))>5)
Beaucoup d'autres couples de dates (de part et d'autre du 28 février)
peuventdonc donner la bonne réponse, l'intérêt de ces deux dates est qu'elles
se
représentent de façon succinte dans une matricielle implicite parce
qu'ellessont le même jour (i.e. 0) et qu'en plus, comme ce jour = 0, on peut
omettred'inscrire ce 0 dans la formule.
Salutations,
Daniel M.