Bonjour à tous.
Voila mon problème est dans le titre en fait !![]()
J'aimerais bien idéalement récupérer la date au lundi de la semaine en question (par exemple pour semaine 51 de 2006 -> 18/12/2006).
Si vous avez des idées merci de m'en faire part !
Bonjour à tous.
Voila mon problème est dans le titre en fait !![]()
J'aimerais bien idéalement récupérer la date au lundi de la semaine en question (par exemple pour semaine 51 de 2006 -> 18/12/2006).
Si vous avez des idées merci de m'en faire part !
Salut !
J'ai trouvé cette fonction avec un collègue. Ca a l'air de fonctionner :
Si les spécialistes pouvaient confirmer!
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 Public Function LundiNumSem(ByVal an As Integer, ByVal numsem As Integer) As DateTime Dim premierLundi As DateTime = New DateTime(an, 1, 1) Dim nbJoursPremiereSemaine As Integer = 0 Dim numSemainePremierLundi As Integer, resultat As DateTime While premierLundi.DayOfWeek <> DayOfWeek.Monday premierLundi = premierLundi.AddDays(1) nbJoursPremiereSemaine = nbJoursPremiereSemaine + 1 End While If nbJoursPremiereSemaine < 4 Then numSemainePremierLundi = 1 Else numSemainePremierLundi = 2 End If resultat = premierLundi.AddDays((numsem - numSemainePremierLundi) * 7) Return resultat End Function![]()
Merci !
voici celle que j'utilise dans mon application:
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 'retourne le lundi de la semaine demandée Public Function semaineEnLundi(ByVal semaine As Integer, ByVal annee As Integer) As Date Dim d, l As Date d = New Date(annee, 1, 1) ' 1er janvier Select Case d.DayOfWeek Case DayOfWeek.Friday l = d.AddDays(3) Case DayOfWeek.Saturday l = d.AddDays(2) Case DayOfWeek.Sunday l = d.AddDays(1) Case Else l = d.AddDays(1 - d.DayOfWeek) ' lundi de la première semaine End Select Return l.AddDays(7 * (semaine - 1)) 'lundi de la semaine recherchée End Function
Merci pour ta contribution !
voici une solution plus courte :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Public Function semaineEnLundi(ByVal semaine As Integer, ByVal annee As Integer) As Date Dim lundi As Date Dim j4 As New Date(annee, 1, 4) lundi = j4.AddDays((semaine - 1) * 7 - IIf(j4.DayOfWeek = 0, 6, j4.DayOfWeek - 1)) Return lundi End Function
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager