Afficher le 1er lundi de chaque année

  • Initiateur de la discussion Initiateur de la discussion murdoc
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

M

murdoc

Guest
bonjour a tous et toutes

ja crois que je vais me répéter vu que j'ai déjà crée un poste la semaine derniere mais je seche depuis et mon taf n'avance pas.

grace o divers poste du forum je sais comment déterminer les ferié dans l'année mais ce que je voudrais faires c'est créer mes feuilles en commencent le 1er lundi de chaque année.

j'ai mis une piece jointe pour que mes explications soit plus précise mais en gros ce que je veut c'est par exemple : pour 2005 le 1er janvier tombant un samedi c'est commencer mon planning le lundi 03/01/05.
pour 2006 le 1er janvier tombant un je veut que le lundi 02/01/06 s'affiche. etc..

je sais plus comment faire alors je suis preneur d'info.

je ne suis pas super fort en vba alors j'essais de tous faire par formule.

merci d'avance

@++ murdoc [file name=Planning web_20050330134104.zip size=32356]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Planning web_20050330134104.zip[/file]
 

Pièces jointes

Bonjour


Trouvé sur : www.cpearson.com
C'est une fonction, il suffit de saisir dans la cellule voulue par exemple A4 : =yearstart(2005)

First Monday Of The Year (YearStart)

The following function was provided by John Green, an Excel MVP from Australia. It returns the first Monday of the specified year. This function is used by other functions on this page.

Public Function YearStart(WhichYear As Integer) As Date

Dim WeekDay As Integer
Dim NewYear As Date

NewYear = DateSerial(WhichYear, 1, 1)
WeekDay = (NewYear - 2) Mod 7 'Generate weekday index where Monday = 0

If WeekDay < 4 Then
YearStart = NewYear - WeekDay
Else
YearStart = NewYear - WeekDay + 7
End If

End Function

Message édité par: dg62, à: 30/03/2005 17:12
 
Bonjour,

Par formules

1er lundi de janvier :
=DATE(An;1😉-MOD(DATE(An;1😉+5;7)+7
1er lundi de février :
=DATE(An;2😉-MOD(DATE(An;2😉+5;7)+7
1er lundi de mars :
=DATE(An;3😉-MOD(DATE(An;3😉+5;7)+7

(en fait, c'est le 1er lundi qui suit le dernier jour du mois précédent)
=DATE(An;4😉 = DATE(An;4;0) = DATE(An;4;1)-1 = 31 mars

Pour Pâques, c'est 29,56 au lieu de 26,56
=DATE(An;3;29,56+0,979 et la suite
 
Re,

Je recommence

1er lundi de janvier :
=DATE(An;1;0)-MOD(DATE(An;1;0)+5;7)+7
ou bien rien à la place du 0

1er lundi de février :
=DATE(An;2;0)-MOD(DATE(An;2;0)+5;7)+7
ou bien rien à la place du 0

1er lundi de mars :
=DATE(An;3;0)-MOD(DATE(An;3;0)+5;7)+7
ou bien rien à la place du 0

(en fait, c'est le 1er lundi qui suit le dernier jour du mois précédent)
=DATE(An;4;rien) = DATE(An;4;0) = DATE(An;4;1)-1 = 31 mars

Pour Pâques, c'est 29,56 au lieu de 26,56
=DATE(An;3;29,56+0,979 et la suite
 
Re,

Je n'ai pas pu m'empêcher…
Tes horaires et leur durée ont déménagé, ils ne sont plus dans la formule.
(plages nommées Horaire et Duree)

Le total des heures :
=SOMMEPROD(NB.SI(B3:V3;Horaire);Duree)+SOMME(B4:V4)

La plage 'Horaire' sert aussi à faire les listes de validation
=DECALER(Horaire;;;NBVAL(Horaire))

Sinon, si tu n'as que 4 semaines par mois, tu auras du mal à finir l'année.
Dans ton fichier, tous les mois commencent le 1er lundi du mois,
ils ont 4 semaines et, si besoin, 5 (la 5ème par formule conditionnelle)
(toutes les feuilles sont identiques)

Les jours fériés ont un format conditionnel.
[file name=PlanningMurdoc.zip size=34600]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/PlanningMurdoc.zip[/file]
 

Pièces jointes

bonjour monique et dg62

merci pour ces réponses. elles m'ont l'air parfaite. j'ai pourtant éssayé la fonction date mais sans grand résultat (c déprimant).

bon ben je me met o taf.

encore merci et @++

murdoc

ps : message pour monique

je crois que c toi qui a mis o point la formule qui suit

=DATE(An;3;29,56+0,979*MOD(204-11*MOD(An;19);30)-JOURSEM(DATE(An;3;28,56+0,979*MOD(204-11*MOD(An;19);30))))+1

juste par curiosité 'intelectuelle' a quoi corespond 29,56+0,979 dans cette formule c peut etre évident mais moi je vois pas

si on veut bien m'éclairer ce serait cool
 
Bonjour,

Cette formule n'est pas de moi, loin de là,
c'est (j'ai peur de me tromper) de F. Sigonneau
Trouvée sur Google
et je ne peux pas l'expliquer.
Elle n'est pas trop longue,
compatible calendrier 1900 / 1904
et elle irait jusqu'en 2200
 
salut monique

ben tempi je vais encor tenter de l'étudier merci quand meme

@++ murdoc

ps ton planning réviser ma bien servi j'ai avancer à grand pas.

reps : pour ceux que sa intéresse j'avais inclut le vendredi saint (vendredi avant paque) dans mes fèrié (hé oui j'habite en lorraine et chez nous c ferié) c pous cela que dans ma forule j'ai modifié 29.56+0.979 par 26.56+0.979
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
12
Affichages
1 K
Retour