Cette petite fonction permet de trouver le n° de la semaine de la date voulue
Source / Exemple :
'Fonction pour connaitre le N° de semaine d'une date
Function FindWeek(Jour As String) As String
Dim i As Integer, TempWeek As Long
Dim TempDay As Date
'Vérifie que la date est valide
If IsDate(Jour) = False _
Then FindWeek = 0: Exit Function
'Compteur qui va balayer les dates en comptant les semaines
For i = 1 To 365
'Init de la date et du n° de semaine
If i = 1 Then
'Init au 01/01/ de l'année de la date demandée
TempDay = "01/01/" & Year(Jour)
'Si le jour est ni samedi ni dimanche alors semaine 1 (sinon dans la semaine 0)
If Weekday(TempDay, vbMonday) < 6 _
Then TempWeek = 1 _
Else TempWeek = 0
Else
'incremente le jour
TempDay = TempDay + 1
'incremente la semaine si le jour est lundi
If Weekday(TempDay, vbMonday) = 1 _
Then TempWeek = TempWeek + 1
End If
'Qd le compteur de jour arrive a la valeur demandée renvoie le n° de la semaine
If TempDay = Jour _
Then FindWeek = TempWeek: Exit Function
Next
End Function
'Petit ex pour tester
Sub Test()
MsgBox FindWeek("21/04/2012")
End Sub
Conclusion :
Voila simple mais souvent utile pour faire de la plannification
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.