N'afficher que lundis et jeudis dans calendrier perpétuel

Bonjour à tous,

Je ne réussi pas à trouver de formule me permettant d'afficher par exemple en B2 le premier lundi du mois puis en C2 le premier jeudi du mois en cours.

Mon objectif est de présenter un tableau de pointage type calendrier mensuel ne faisant apparaître (ligne 2) que les lundis et jeudis du mois et l'année sélectionnés sur une liste déroulante (respectivement A1 et B1)

Suis preneur d'idées

Merci par avance


Oups

J'ai omis de préciser que je souhaitais faire apparaître en B2 soit le lundi soit le jeudi selon qu'il s'agit du jour le plus proche du début de la semaine.

Ex Février 2016, lundi 1er s'affiche en B2 et jeudi 4 en C2

MAIS

en mars 2o16, jeudi 3 mars s'affiche en B2 et lundi 7 en C2.

Bonjour,

je suis pas sur que ce soit la seule solution mais tu peu écrire :

pour le lundi :

=DATE(B1;A1;1)+SI(JOURSEM(DATE(B1;A1;1);2)=1;0;8-JOURSEM(DATE(B1;A1;1);2))

sachant que JourSem(date;2) renvoi 1 pour lundi et 7 pour dimanche...

pour jeudi c'est la même chose en remplaçant le 2 par 14 ( 1 = Jeudi, 7 = Mercredi ) ce qui donne :

=DATE(B1;A1;1)+SI(JOURSEM(DATE(B1;A1;1);14)=1;0;8-JOURSEM(DATE(B1;A1;1);14))

Oups

J'ai omis de préciser que je souhaitais faire apparaître en B2 soit le lundi soit le jeudi selon qu'il s'agit du jour le plus proche du début de la semaine.

Ex Février 2016, lundi 1er s'affiche en B2 et jeudi 4 en C2

MAIS

en mars 2o16, jeudi 3 mars s'affiche en B2 et lundi 7 en C2.

Utilise MIN en colonne B et MAX en colonne C avec les deux formules...

=MIN(DATE(B1;A1;1)+SI(JOURSEM(DATE(B1;A1;1);2)=1;0;8-JOURSEM(DATE(B1;A1;1);2));DATE(B1;A1;1)+SI(JOURSEM(DATE(B1;A1;1);14)=1;0;8-JOURSEM(DATE(B1;A1;1);14)))

Bonjour

En B2

=MIN(DATE($A$2;MOIS("1/"&$A$1);CHOISIR(EQUIV(JOURSEM(DATE($A$2;MOIS("1/"&$A$1);1);2);{1;2;3;4;5;6;7};0);1;7;6;5;4;3;2));DATE($A$2;MOIS("1/"&$A$1);CHOISIR(EQUIV(JOURSEM(DATE($A$2;MOIS("1/"&$A$1);1);2);{1;2;3;4;5;6;7};0);4;3;2;1;7;6;5)))

En B3, la même formule avec MAX à la place de MIN

Cordialement

175phrynis.xls (16.00 Ko)

Bonjour,

En utilisant la fonction SERIE.JOUR.OUVRE.INTL

Ligne 1 : les noms de mois

Ligne 2 : =SERIE.JOUR.OUVRE.INTL(DATEVAL("1"&A1)-1;1;"0110111")

Ligne 3 (et suivantes) : =SERIE.JOUR.OUVRE.INTL(A2;1;"0110111")

Cordialement.

7qsneyz abnszlt

Merci,

trois formules a tester...

  • la réponse de Pierre.jy me donne un résultat d'erreur #VALEUR !
  • celle d'Amadéus correspond exactement aux valeurs attendues, bien qu'elle elle reste nébuleuse pour moi , mais le résultat est là.
si Amadéus en a le temps je veux bien le décryptage...

- celle de MFerrand, donne un résultat correct pour 2016, elle apparait plus simple, mais ne tient pas compte des années suivantes,

En tout cas merci je peux continuer d'avancer.

Tu n'as mis aucun fichier où se trouve l'année que l'on aurait pu prendre en compte.

Sans année, l'année courante prévaut !

Quand on ne met pas de fichier, c'est qu'on se considère en mesure d'adapter toute suggestion qui sera faite et qui convient, et on évite surtout de dire que les éléments que l'on n'a pas fourni n'ont pas été pris en compte !!!!!!!!

Si j'utilise une telle formule dans un de mes fichiers, je te prie de croire que l'année ne manquera pas !

Très cordialement.

Bonjour

Les explications de la formule dans le fichier

Cordialement

262phrynis.xls (18.00 Ko)

Bonjour,

reprise du fil de discussion pour MFerrand,

désolé mon énoncé n'était pas très explicite pour l'année, amende honorable

Voici le fichier remis en forme.

196pointage-es.xlsx (11.75 Ko)

bonjour,

Phrynis a écrit :

- la réponse de Pierre.jy me donne un résultat d'erreur #VALEUR !

en te lisant j'avais compris qu'en B1 tu avais l'année est en A1 le mois, mais je pensais le mois sous forme numérique ... 1 pour janvier, 2 pour février ... à priori ce n'est pas le cas ... pour que la formule fonctionne remplace A1 par :

=MOIS(DAteVal("1-"&A1))

ce qui donne :

=MIN(DATE(B1;MOIS(DATEVAL("1-"&A1));1)+SI(JOURSEM(DATE(B1;MOIS(DATEVAL("1-"&A1));1);2)=1;0;8-JOURSEM(DATE(B1;MOIS(DATEVAL("1-"&A1));1);2));DATE(B1;MOIS(DATEVAL("1-"&A1));1)+SI(JOURSEM(DATE(B1;MOIS(DATEVAL("1-"&A1));1);14)=1;0;8-JOURSEM(DATE(B1;MOIS(DATEVAL("1-"&A1));1);14)))

Tu aurais tout à fait pu faire l'adaptation toi-même !

MFerrand a écrit :

Tu aurais tout à fait pu faire l'adaptation toi-même !

et bien, pour tout dire, je me suis lancé comme ça, sans connaissance particulière des macros et fonctions "avancées" (enfin, que je considère avancées pour moi) . Donc je découvre depuis 5 jours (ou nuits) en bidouillant, lisant et glanant ici et là dans le forum, astuces et formules que je teste sans en comprendre vraiment le langage ou la logique lorsque plusieurs formules se combinent.

Il y a un début à tout.

Encore merci pour l'aide.

Rechercher des sujets similaires à "afficher que lundis jeudis calendrier perpetuel"