Nombre de dimanche dans l'année

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 :eek:
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 :D
Merci d'avance
 

ROGER2327

XLDnaute Barbatruc
Re : Nombre de dimanche dans l'année

Suite...
Equivalents en VBA de :
  1. la première formule :
    Code:
    [COLOR="DarkSlateGray"][B]Function NbDim1%(d%)
       Application.Volatile
       NbDim1 = NbDim2(DateSerial(d, 1, 1))
    End Function[/B][/COLOR]
  2. la deuxième formule :
    Code:
    [COLOR="DarkSlateGray"][B]Function NbDim2%(d As Date)
       Application.Volatile
       NbDim2 = 52 - (Weekday(d, vbSunday) = 1) + (Weekday(d, vbSaturday) = 7) * _
          ((Year(d) Mod 4 = 0) - (Year(d) Mod 100 = 0) + (Year(d) Mod 400 = 0))
    End Function[/B][/COLOR]
ROGER2327
#3877


Mardi 24 Gidouille 137 (Saint Gris-gris, ventre, SQ)
20 Messidor An CCXVIII
2010-W27-4T12:26:26Z
 
Dernière édition:

ROGER2327

XLDnaute Barbatruc
Re : Nombre de dimanche dans l'année

Bonjour tototiti2008
C'est parfait ! Ça évite le calcul matriciel pour la détermination des années bissextiles.​
ROGER2327
#3878


Mardi 24 Gidouille 137 (Saint Gris-gris, ventre, SQ)
20 Messidor An CCXVIII
2010-W27-4T13:34:04Z
 

MJ13

XLDnaute Barbatruc
Re : Nombre de dimanche dans l'année

Bonjour à tous

Bravo à tous pour vos solutions qui ont été bien raccourcies au fil du temps (celles de Roger, j'en ai encore mal à la tête :confused:).

J'ai fait un petit fichier en reprenant mon idée du départ et en me disant comment faire lorsqu'on a une formule pour la transformer en VBA et en fonction (voir le fichier joint).

Du coup, j'ai l'impression que c'est moi qui ai posé la question :).

Comme dirait Dull: "TouslescheminsmènentàRome,pourvuqu'onenabusepastrop"

J'ai du faire un faute à Rome :p.

Merci à tous ;).
 

Pièces jointes

  • NB_Dimanches_Annee_MJ.zip
    36.4 KB · Affichages: 123

Discussions similaires

Réponses
6
Affichages
345

Statistiques des forums

Discussions
312 239
Messages
2 086 494
Membres
103 234
dernier inscrit
matteo75654548