Bonjour,
J'ai trouvé ici :
http://vb.developpez.com/faq/?page=Dates
cette fonction :
et je l'utilise ainsi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 Public Function PremierJourSemaine(ByVal numSemaine As Integer, ByVal annee As Integer) As Date Dim d As Date Dim numS As Integer ' premier jour de l'année d = DateSerial(annee, 1, 1) ' numéro de la semaine du 1er janvier numS = DatePart("ww", d, vbMonday, vbFirstFourDays) ' si le 1er janvier fait partie de la dernière semaine de l'année précédente ' alors passe à la semaine suivante (la première de la nouvelle année) If numS <> 1 Then d = DateAdd("d", 7, d) ' calcule le premier jour de la première semaine de l'année d = DateAdd("d", 1 - Weekday(d, vbMonday), d) ' ajoute (numSemaine-1) semaines PremierJourSemaine = DateAdd("ww", numSemaine - 1, d) End Function
Cependant j'obtient des valeurs incorrecte.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click Dim dateDuJour As String = Me.dateJ.Text Dim dateJ As Date = dateDuJour Dim numSemaine As Integer = DatePart("ww", dateJ, vbMonday, FirstWeekOfYear.FirstFourDays) Dim annee As Integer = Year(dateJ) Dim DateLundi As Date = PremierJourSemaine(numSemaine, annee) Me.date_lundi.Text = DateLundi End Sub
Je voulais savoir si j'avais fait une erreur d'utilisation ou si la function PremierJourSemaine est incorrecte.
J'ai effectué le test avec la date : 01/01/2010
et j'obtient : 03/01/2011
plutôt bizarre
Je continue mes recherches pour trouvé un moyen de renvoyer la date du lundi de la semaine d'une date donnée.
Si quelqu'un à une idée je suis preneur.
++
Partager