Bonjour,

J'ai trouvé ici :
http://vb.developpez.com/faq/?page=Dates

cette fonction :

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
et je l'utilise ainsi :

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
Cependant j'obtient des valeurs incorrecte.

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.

++