Nombre de dimanche dans l'année

  • Initiateur de la discussion Initiateur de la discussion yassoux
  • 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 !

yassoux

XLDnaute Nouveau
Bonjour,
je suis entrain de développer une petite application sur vba excel, qui demande beaucoup de manipulations avec les dates, dans le cas présent je ne dois effectuer un calcul sous de multiple conditions et contraintes de dates ....

1ère contrainte si l'année est une année normale à 52 dimanche
2ème contrainte si l'année est une année normale à 53 dimanche
3ème contrainte si l'année est une année bissextile à 52 dimanche
4ème contrainte si l'année est une année bissextile à 53 dimanche

oui c'est compliqué tous sa ^^ donc pour le moment je ne vous demande pas de me trouver une solution tout cuit à mon problème, car j'ai quand même essayer d'avance avant ^^

donc pour commencer voila ma macro pour connaitre si l'année est bissextile ou non :
Code:
If annee.Text / 4 = Int(annee.Text / 4) Then
MsgBox "bissextile"
Else
MsgBox " non bissextile"
End If
rien de plus simple...

par contre pour ce qui est du calcul du nombre de dimanche dans une année 😱
j'ai trouver une fonction excel qui y arrive :
Code:
=SI(JOURSEM(A9)=1;1;0)
cette formules va chercher la date en A1 et retourne 1 si c'est un dimanche, 0 si non...
j'aimerais bien trouver quelque chose de similaire en vba ^^

Je reste dispo pour tout autre question bien sur 😀
Merci d'avance
 
Re : Nombre de dimanche dans l'année

Bonjour,

Code:
If annee.Text / 4 = Int(annee.Text / 4) Then
MsgBox "bissextile"
Else
MsgBox " non bissextile"
End If

Attention ! Si ton application est destinée à être utilisée sur une très large plage d'années, cette façon de tester n'est pas correcte. En effet, pour réajuster notre calendrier sur le soleil, on rajoute effectivement un jour tous les 4 ans. Mais comme ça fait trop, on en supprime 3 tous les 4 siècles il me semble.

En fait la règle c'est :
Une année est bissextile (elle possède un 29 février) si son millésime est divisible par 4 (ex: 1904 1980 1996), mais pas par 100 (ex: 1900), à moins qu'il soit divisible par 400 (ex: 2000), sauf s'il est divisible par 4000 (ex: 4000 8000 12000 ).

C'est pour ça que 2000 était bisextile mais que 2100, 2200 et 2300, bien que divisibles par 4, ne le seront pas.

Mais bon, tout cela n'a d'importance que si tu utilise une vaste plage de dates (je suis pas censé savoir que tu es pas archéologue 😛)
 
Re : Nombre de dimanche dans l'année

Sinon pour répondre quand même à ta question, est ce que tu pourrais pas base ton calcul sur le 1er jour de l'année en sachant que :

si année bisextile alors : 52.28 semaines dans l'année
si le premier jour de l'année est un lundi, le dernier sera un ... donc X dimanches dans l'année.......

Je sais pas si c'est faisable comme ça mais ça me paraît être un bon moyen d'aborder le problème.
 
Re : Nombre de dimanche dans l'année

Bonjour Yassou, Bonjour GeoTrouvePas,

Toujours intéressant de connaitre les règles exactes 😉

sinon la traduction VBA de

Code:
=SI(JOURSEM(A9)=1;1;0)

est

Code:
iif(Weekday(Date1)=1,1,0)

Avec Date1 une variable Date qu'il conviendra de faire varier dans une boucle, je pense

Mais l'idée de GeoTrouvePas est la bonne, le tout est de trouver la formule exacte s'appliquant à tous les cas...
 
Re : Nombre de dimanche dans l'année

Bonjour à tous

Sachant que quelque soit l'année, il y aura 52 ou 53 dimanche avec 53 dimanche si le premier jour de l'année est un dimanche.

Bon cela a déjà été dit 😱, mais pour moi c'est plus simple à comprendre et à traduire.

Ce qui donne en formule avec la date en A1:

Code:
=SI(JOURSEM(DATE(ANNEE(A1);1;1))=1;"53";52)

Pour le traduire en VBA, il faudra utiliser l'enregistreur de macros.
 
Dernière édition:
Re : Nombre de dimanche dans l'année

Bonjour hoerwind,
Re,

Oui, c'est plus simple mais il faut connaitre la règle pour ça, et c'est le résultat de la formule qui a permis de déterminer la règle...🙄

Mais de toute façon il y a surement plus simple 😉
 
Re : Nombre de dimanche dans l'année

Bonjour à tous,

Perso, je déterminerais le premier dimanche de l'année et j'y ajouterais 364 jours ( 52X7)
- si la date trouvée appartient à la même année: conclusion il y a 53 dimanches dans l'année

- si la date trouvée n'appartient pas à la même année: conclusion il y a 52 dimanches dans l'année

à+
Philippe
 
Re : Nombre de dimanche dans l'année

Re à tous

Comme je suis nul en formule, voici une logique formulistique.

Tibo, si t'es pas loin, on peut abréger (mes souffrances) 🙂.

J'ai pas testé toutes les dates, mais si la logique est bonne, cela devrait le faire.

Mais bon, il doit y avoir plus simple (Ro.er peut-être 😉).
 

Pièces jointes

Dernière édition:
Re : Nombre de dimanche dans l'année

Bonjour à tous
Avec l'année en A1 :
Code:
[COLOR="DarkSlateGray"][B]=52+(JOURSEM(DATE(A1;1;1))=1)+SOMME((MOD(A1;{4;100;400})=0)*{1;-1;1})*(JOURSEM(DATE(A1;1;1))=7)[/B][/COLOR]
(formule matricielle)

ROGER2327
#3874


Mardi 24 Gidouille 137 (Saint Gris-gris, ventre, SQ)
20 Messidor An CCXVIII
2010-W27-4T11:45:39Z
 
Dernière édition:
Re : Nombre de dimanche dans l'année

Suite...
Ou encore, avec 1/1/année en A1 :
Code:
[COLOR="DarkSlateGray"][B]=52+(JOURSEM(D1)=1)+SOMME((MOD(ANNEE(D1);{4;100;400})=0)*{1;-1;1})*(JOURSEM(D1)=7)[/B][/COLOR]
(formule matricielle)

ROGER2327
#3875


Mardi 24 Gidouille 137 (Saint Gris-gris, ventre, SQ)
20 Messidor An CCXVIII
2010-W27-4T11:52:51Z
 
Dernière édition:
- 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

Discussions similaires

Réponses
4
Affichages
166
Retour