Formule Numéro semaine en VBA

Pierre31

XLDnaute Junior
Bonjour à toutes et tous,

Comment écrit-on en VBA la formule permettant de calculer le numéro de semaine par rapport à la date d'aujourd'hui.

D'avance merci pour vos réponses.
Cordialement
Pierre
 

Eric 45

XLDnaute Occasionnel
Re : Formule Numéro semaine en VBA

Bonjour à tous et à toi Pierre

Essaie ce code :

Numero de semaine

Sub semaine_en_cours()
Dim prem_date As Single
Dim nb_date_annee As Date
Dim num_semaine As Integer

nb_date_annee = DateValue("1 janvier " & (Year(Date)))
prem_date = nb_date_annee
num_semaine = Abs(Date - prem_date) / 7

Range("c8").Value = "S" & " " & num_semaine

End Sub

A+

Cordialement
 

Eric 45

XLDnaute Occasionnel
Re : Formule Numéro semaine en VBA

Re Bonjour

J'avais récupéré ce code quelque part car cela m'intéressait, mais je m'aperçois qu'il est faux pour beaucoup de dates,donc ATTENTION

et désolé.

Je cherche ..............

A+

Cordialement
 

michel_m

XLDnaute Accro
Re : Formule Numéro semaine en VBA

Bonjour à tous

autre solution proposée par Laurent Longre:

Function num_sem(D As Date) As Long
'Auteur: Laurent Longre. Ce lien n'existe plus
'La fonction suivante renvoie le numéro de semaine conforme à la norme ISO, _
utilisée dans les pays européens (la première semaine d'un mois étant définie _
comme la première semaine comportant au moins quatre jours dans le mois).

D = Int(D)
num_sem = DateSerial(Year(D + (8 - Weekday(D)) Mod 7 - 3), 1, 1)
num_sem = ((D - num_sem - 3 + (Weekday(num_sem) + 1) Mod 7)) \ 7 + 1
End Function
 

Pierrot93

XLDnaute Barbatruc
Re : Formule Numéro semaine en VBA

Bonjour à tous

et pourquoi ne pas utiliser la fonction "DatePart" ?

Code:
Sub test()
Dim NumSem As Byte
NumSem = DatePart("ww", Date, 2, 2)
End Sub

A priori en jouant avec les differents arguments (voir aide VBA), sauf erreur de ma part ca a l'air d'être bon !!!

Bonne soirée à tous
@+
 

Statistiques des forums

Discussions
312 321
Messages
2 087 265
Membres
103 501
dernier inscrit
talebafia