Renvoyer le numéro de la semaine à un calendrier

Fermé
cocoponey Messages postés 16 Date d'inscription mercredi 13 avril 2016 Statut Membre Dernière intervention 23 mai 2016 - 23 mai 2016 à 09:16
thev Messages postés 1883 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 6 novembre 2024 - 23 mai 2016 à 20:34
Bonjour,

Je souhaiterai faire une macro qui permette de remplir les dates automatiquement en fonction de la semaine. Je m'explique :
J'aimerai que l'utilisateur rentre le numéro de la semaine, et que "semaine du : / / au / / " se remplisse automatiquement. Quelqu'un pourrait-il m'aider ?
Merci d'avance.

4 réponses

PHILOU10120 Messages postés 6393 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 9 octobre 2024 810
23 mai 2016 à 10:50
Bonjour cocoponey

Sans macro avec une formule

Mettre en A1 l'année "2016"
en A2 la numéro de semaine "48"
En B1 cette formule

="Semaine "&A2&" du lundi "&TEXTE(DATE($A$1;1;1)+SI(NO.SEMAINE(DATE($A$1;1;1);21)>1;7+1-JOURSEM(DATE($A$1;1;1);2);1-JOURSEM(DATE($A$1;1;1);2))+($A$2-1)*7;"jj/mm/aaaa")&" au vendredi "&TEXTE(DATE($A$1;1;1)+SI(NO.SEMAINE(DATE($A$1;1;1);21)>1;7+1-JOURSEM(DATE($A$1;1;1);2);1-JOURSEM(DATE($A$1;1;1);2))+($A$2-1)*7+4;"jj/mm/aaaa")

le résultat qui s'affiche en B1

"Semaine 48 du lundi 28/11/2016 au vendredi 02/12/2016"

0
DjiDji59430 Messages postés 4139 Date d'inscription samedi 19 avril 2008 Statut Membre Dernière intervention 8 novembre 2024 678
23 mai 2016 à 10:53
Bonjour,

Avec des tables :

https://www.cjoint.com/c/FExi1hMCfhG
0
PHILOU10120 Messages postés 6393 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 9 octobre 2024 810
23 mai 2016 à 13:29
Attention le numérotage des semaines pour la France
=NO.SEMAINE(numéro de série;21)
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
Modifié par michel_m le 23/05/2016 à 14:18
Bonjour
date du lundi avec année en A1 et semaine en B1
=TEXTE(7*B1+DATE(A1;1;1)-JOURSEM(DATE(A1;1;3))-3; " jj/mm/aa")
et du vendredi
=TEXTE(7*B1+DATE(A1;1;1)-JOURSEM(DATE(A1;1;3))+1; " jj/mm/aa")

tu peux soit concaténer les 2 formules avec du texte; pour ma part, je caserai la formule du lundi dans 1cellules planquée quelque part par ex en Z1
="Semaine du "&Z1&" au " &Texte(Z1+7;"jj/mm/aa")
 Michel
0
thev Messages postés 1883 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 6 novembre 2024 691
23 mai 2016 à 20:34
Bonjour,

Tu peux utiliser la fonction que j'ai développée
lib_semaine(Année; semaine)

CODE
Function lib_semaine(Année, semaine)

'premier jeudi de l'année
date_premier_an = DateSerial(Année, 1, 1)
For j = 0 To 6
date_premier_jeudi = date_premier_an + j
jour = Format(date_premier_jeudi, "dddd", vbMonday)
If jour = "jeudi" Then Exit For
Next

'date jeudi de la semaine
date_jeudi_semaine = date_premier_jeudi + (semaine - 1) * 7
'date début de la semaine
date_lundi_semaine = date_jeudi_semaine - 3
'date fin de la semaine
date_vendredi_semaine = date_jeudi_semaine + 1

'libellé de la semaine
lib_semaine = "du " & Format(date_lundi_semaine, "ddmmmyyyy") & " au " & Format(date_vendredi_semaine, "ddmmmyyyy")

End Function

0