1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| Option Explicit
Public Function Semaine(LaDate As Variant) As Variant
'---------------------------------------------------------------------------------------
' Procedure : Semaine
' Date : vendredi 21 décembre 2007 13:56
' Auteur : Maxence Hubiche (mhubiche@club-internet.fr - 06.18.61.14.35)
' Objet : Renvoie le numéro de la semaine pour le calendrier français
' Spec : Cette fonctino empèche le débordement en semaine 53, en mettant les jours
' de la semaine 53 en semaine 1
' Retour : Renvoie un Byte (n° de la semaine) ou Null si l'argument n'était pas une
' date
'---------------------------------------------------------------------------------------
'
Dim bytTemp As Byte
If IsDate(LaDate) Then
bytTemp = CByte(DatePart("ww", LaDate, vbMonday, vbFirstFourDays)) Mod 53
If bytTemp = 0 Then bytTemp = 1
Semaine = bytTemp
Else
Semaine = Null
End If
End Function |