Gros pb avec les dates

Résolu
arbomont Messages postés 57 Date d'inscription mardi 21 septembre 2004 Statut Membre Dernière intervention 3 février 2014 - 25 nov. 2004 à 16:20
lijohann Messages postés 76 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 8 avril 2008 - 25 nov. 2004 à 17:04
je developpe un programme vb ou je voudrais afficher la semaine en cours, avec les jours et les dates.
Je me prend la tete depuis plusieurs jours, je n'arrive pas à trouver une solution pour calculer les dates des jours de la semaines en cours.
Je récupere la date du jour, et j'ajoute ou soustrait à cette date les autres jours de la semaine.
Le pb c'est qu'une semaine peut etre à cheval sur 2 mois, voir 2 années, que les mois font 28,29,30 ou 31 jours...

Bref je suis au bord du suicide, est ce que quelqu'un conaitrait une solution, ou un algoryhtme simple pour calculer les dates des jours de la semaine?

jca

6 réponses

lijohann Messages postés 76 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 8 avril 2008 1
25 nov. 2004 à 17:04
oui, la fonction dateadd prends en compte les mois , les années
3
thierrydelepine Messages postés 521 Date d'inscription mardi 24 décembre 2002 Statut Membre Dernière intervention 11 septembre 2008 6
25 nov. 2004 à 16:36
pour connaitre le jour de la semaine utilise l'instruction weekday
tape F1 sous VB pour avoir de l'aide

Dim MyDate, MyWeekDay
MyDate = #2/12/1969# ' Attribue une date.
MyWeekDay = Weekday(MyDate) ' MyWeekDay contient 4 car MyDate
' correspond à mercredi.
MsgBox MyWeekDay

cela correspond peut etre a ton besoin

pour travailler avec les dates tu as aussi "format"
0
arbomont Messages postés 57 Date d'inscription mardi 21 septembre 2004 Statut Membre Dernière intervention 3 février 2014
25 nov. 2004 à 16:46
Ce n'est pas exactement ça mon pb.
Pour expliquer plus simplement, je voudrais un algorithme permettant de calculer la date des lendemains.
Il suffit d'ajouter 1 à la date du jour, mais si la date du jour est la derniere du mois, ou de l'année, la date passe à 1 (le 31 du mois on ne passe pas à 32), etc...

C'est tout ceci que je n'arrive pas à resoudre, je recherche un algorithme qui tienne permette de le faire.
Si quelqu'un sait comment faire, il me sauverais presque la vie :shy)

jca
0
lijohann Messages postés 76 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 8 avril 2008 1
25 nov. 2004 à 16:51
tu as un fonction weekday(date, 1er jour de la semaine) qui te renvoie le jour de la semaine de ta date . l'argument 1er jour de la semaine te permet de specifier si ta semaine commence le dimanche ou le lundi.

Une fois ke tu as le our de la semaine pour avoir la liste des jours de la semaine tu peux faire un fct du style (en considerant que tu recupére tes dates dans un tableau):
' recupere le jour de la semaine

jour = weekday(tadate, vbmonday)

'boucle sur les 7 jours de la semaine

for i = 1 to 7

'la fct dateadd donne la date du jour qui se trouve à un intervalle defini par son unité ( jour, mois,année...), ici les jours ("d") et le nombre ( ici : on enleve la soustraction entre lejour de la semaine de ta date et le compteur, ce qui permet de retrouver tout les jours des la semaine)

tableau[i] = dateadd("d",-(jour - i), tadate)
next

'voila, j'ai fais ça vite fais mais ça devrais marcher
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
arbomont Messages postés 57 Date d'inscription mardi 21 septembre 2004 Statut Membre Dernière intervention 3 février 2014
25 nov. 2004 à 16:57
Mais est ce que ça vas marcher pour les semaines à cheval sur 2 mois ?

jca
0
arbomont Messages postés 57 Date d'inscription mardi 21 septembre 2004 Statut Membre Dernière intervention 3 février 2014
25 nov. 2004 à 16:58
Mais est ce que ça vas marcher pour les semaines à cheval sur 2 mois ?

jca
0
Rejoignez-nous