N° de semaine ISO sous VBA

man95

XLDnaute Occasionnel
Bonjour à vous tous et tous mes voeux pour cette nouvelle année

Pourriez vous me dire s'il est possible de mettre la formule si dessous en Vba afin de m'en servir dans une procédure

=ENT(MOD(ENT((A1-1)/7)+3/5;52+5/28))+1

Merci d'avance pour vos réponses

MAN
 

kiki29

XLDnaute Barbatruc
Re : N° de semaine ISO sous VBA

Salut, et une autre
Code:
Function NumSem(dDate As Date) As Integer
Dim t As Long
    t = DateSerial(Year(dDate + (8 - WeekDay(dDate)) Mod 7 - 3), 1, 1)
    NumSem = ((dDate - t - 3 + (WeekDay(t) + 1) Mod 7)) \ 7 + 1
End Function

PS : la formule avec DatePart donne par exemple pour le 29/12/2003 53 et non 1
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : N° de semaine ISO sous VBA

Re, bonjour Kiki

les arguments correspondent au premier jour de la semaine(2=lundi) et le 2ème argument représente la constante précisant la façon de déterminer la première semaine de l'année, ci-dessous les differentes possibilités :
(cf aide vba)
vbUseSystem 0 Utiliser l'argument NLS API.
vbFirstJan1 1 Commencer par la semaine du 1er janvier (valeur par défaut).
vbFirstFourDays 2 Commencer par la première semaine comportant au moins quatre jours dans l'année nouvelle.
vbFirstFullWeek 3 Commencer par la première semaine complète de l'année.

Touche de fonction F1 sur le mot "datepart", te donnera tous les détails...

bon après midi
@+
 

Discussions similaires

Statistiques des forums

Discussions
312 322
Messages
2 087 274
Membres
103 503
dernier inscrit
maison