Listbox

Signaler
Messages postés
2
Date d'inscription
mercredi 24 juillet 2002
Statut
Membre
Dernière intervention
13 août 2003
-
Messages postés
124
Date d'inscription
mardi 19 février 2002
Statut
Membre
Dernière intervention
7 mars 2004
-
bonjour tout le monde
voila mon p'tit probleme:
j'aimerais avoir dans une listebox(ou autre) le liste des semaine de l'année
genre :
semaine 1 : 01/01/99 eu 07/01/99
semaine 2 : 08/01/99 au 14/01/99
afin de pouvoir selectionner une semaine complete
si qq'un a une idée.....

1 réponse

Messages postés
124
Date d'inscription
mardi 19 février 2002
Statut
Membre
Dernière intervention
7 mars 2004
1
J'ai trouvé mais je ne suis pas sur que cela te conviennes. Cela liste toutes les semaines mais si ton année commence un autre jour que lundi, il zappe et prend une semaine compléte en cherchant le lundi le plus proche. Même chose en fin d'année, il s'arrête si il peut pas faire une semaine compléte !
Private Sub Command1_Click()
Dim pasok As Boolean

s = "Semaine du "
jour = 1
fjour = 1
mois = 1
strs = CStr(jour) + "/" + CStr(mois) + "/" + Text1.Text
jr = WeekDay(strs)

While jr <> vbMonday
jr = (jr + 1) Mod 7
jour = jour + 1
Wend

fjour = jour + 7

Do
If dateok(CStr(fjour) + "/" + CStr(mois) + "/" + Text1.Text) Then
List1.AddItem s + CStr(jour) + "/" + CStr(mois) + "/" + Text1.Text + " au " + CStr(fjour) + "/" + CStr(mois) + "/" + Text1.Text
Else
If mois <> 12 Then
mois = mois + 1

fjour = 1
While WeekDay(CStr(fjour) + "/" + CStr(mois) + "/" + Text1.Text) <> vbMonday
fjour = fjour + 1
Wend
List1.AddItem s + CStr(jour) + "/" + CStr(mois) + "/" + Text1.Text + " au " + CStr(fjour) + "/" + CStr(mois) + "/" + Text1.Text
jour = fjour - 7
Else
Exit Sub
End If
End If
jour = jour + 7
fjour = fjour + 7
Loop While fjour < 365

End Sub

Function dateok(s) As Boolean
On Error GoTo pasok
WeekDay (s)
GoTo fin
pasok:
dateok = False
Exit Function
fin:
dateok = True
End Function
0