Fonction qui renvoie le nombre d'un jour donné de la semaine dans un mois donné

Magic_Doctor

XLDnaute Barbatruc
Bonjour,

Je recherche une fonction qui me permettrait de connaître le nombre d'un jour donné de la semaine dans un mois donné.
En supposant que cette fonction s'appelle : NbJSMois
et que nous comptions les jours de la semaine de la manière suivante :
Lundi = 1, Mardi = 2, ..., Dimanche = 7

Par ex. NBJSMois(4;1;2009) = 5

Il y a en effet 5 jeudis en janvier 2009.

Merci pour toute réponse.
 

Cousinhub

XLDnaute Barbatruc
Re : Fonction qui renvoie le nombre d'un jour donné de la semaine dans un mois donné

Bonsoir,

une formule d'Alain Vallon...

En A2, ta date de départ
En A3, ta date de Fin
En C2, le numéro de la journée qui t'intéresse...(Lundi : 1, Mardi : 2, .....)

Code:
=ENT(($A$3-JOURSEM($A$3-(C2-1);2)-$A$2+8)/7)

Bonne soirée
 

job75

XLDnaute Barbatruc
Re : Fonction qui renvoie le nombre d'un jour donné de la semaine dans un mois donné

Bonsoir Magic Doctor, bh2,

Pour le fun, une fonction VBA assez bovine :

Code:
Function NBJSMois(jour As Byte, mois As Byte, an%) As Byte
Dim deb&, fin&, d&
deb = DateSerial(an, mois, 1)
fin = DateSerial(an, mois + 1, 1) - 1
For d = deb To fin
If Weekday(d, 2) = jour Then NBJSMois = NBJSMois + 1
Next
End Function

A+
 

Cousinhub

XLDnaute Barbatruc
Re : Fonction qui renvoie le nombre d'un jour donné de la semaine dans un mois donné

Re-,

Job, un peu moins bovine... :D

Code:
Function NBJSMois(jour As Byte, mois As Byte, an%) As Byte
Dim deb&, fin&, d&
deb = DateSerial(an, mois, 1)
fin = DateSerial(an, mois + 1, 0)
NBJSMois = Evaluate("INT((" & fin & "-WEEKDAY(" & fin & "-(" & jour & "-1),2)-" & deb & "+8)/7)")
End Function
 

Magic_Doctor

XLDnaute Barbatruc
Re : Fonction qui renvoie le nombre d'un jour donné de la semaine dans un mois donné

Merci bhbh et Job75.

Recherchant une fonction, je prendrai donc la solution de Job qui marche sans beugler....

Et au pays des vaches je m'en contenterai !

Buenas tardes a todos.
 

job75

XLDnaute Barbatruc
Re : Fonction qui renvoie le nombre d'un jour donné de la semaine dans un mois donné

Re,

@ bh2 : dans ta formule VBA, tu fais bien d'évaluer (Evaluate) la formule d'Alain Vallon.

En effet Int() en VBA a parfois des problèmes (mais on peut les éviter en introduisant CDec). J'ai fait un fil à ce sujet que je ne retrouve pas.

A+
 

Magic_Doctor

XLDnaute Barbatruc
Re : Fonction qui renvoie le nombre d'un jour donné de la semaine dans un mois donné

Rebonsoir,

Merci Job pour cette 2ème version qui nous fait passer du boeuf au taurau !

Curieux, je suis allé sur le fil dont faisait allusion bhbh.

Que renvoie exactement la fonction Nosemaine ?
 

job75

XLDnaute Barbatruc
Re : Fonction qui renvoie le nombre d'un jour donné de la semaine dans un mois donné

Re,

Merci Job pour cette 2ème version qui nous fait passer du boeuf au taurau !

La 2ème version VBA c'est bhbh...

Quant à la fonction Nosemaine sur le fil, elle renvoie... le numéro de semaine pour une date donnée. La formule est classique et renvoie une valeur conforme aux normes ISO. Il y a des fils là-dessus sur le forum.

A+
 

Magic_Doctor

XLDnaute Barbatruc
Re : Fonction qui renvoie le nombre d'un jour donné de la semaine dans un mois donné

Mea culpa,

Cette deuxième version était bien du cru de bhbh.

Raison de + de bien relire avant de répondre.

Quoi qu'il en soit, en dépit du "lapsus", merci à vous deux.
 

Discussions similaires

Réponses
12
Affichages
943