Bonsoir Bernard, Monique, Jean Pierre, François, le Forum
Je me pemets d'intervenir, attention Bernard, le code tel quel n'est pas juste :
Sub NumSemaineWW()
Dim TheDay As Date
TheDay = 38515 'demain le 12/06/2005 un dimanche
MsgBox Format(TheDay, 'ww')
End Sub
En effet il va retourner 25, or demain c'est Dimanche, on passera en 25eme semaine que Lundi....
Il faut faire ceci pour être juste en VBA :
Sub NumSemainePartDate()
Dim TheDay As Date
TheDay = 38515 'demain le 12/06/2005 un dimanche
MsgBox DatePart('WW', TheDay, vbMonday, vbFirstFourDays)
End Sub
Bien Sur la macro définitive se basera sur Date Directement comme ceci :
Private Sub Workbook_Open()
Sheets('Feuil1').Range('A1') = DatePart('WW', Date, 2, 2)
End Sub
Bonne Soirée
@+Thierry
EDITION !!!
Je me suis mélangé les pinceaux lol !!
Mais bon, les paramétres suivants sont les notres en Europe :
vbMonday 2 Lundi
vbFirstFourDays 2 Commencer par la première semaine comportant au moins quatre jours dans l'année nouvelle.
Voir Aide VBA à 'DatePart, fonction' ...
Message édité par: _Thierry, à: 11/06/2005 21:39