Comment connaitre le nombre de jour sur l'année d'une date ?

cs_njac Messages postés 2 Date d'inscription mercredi 6 juillet 2005 Statut Membre Dernière intervention 7 juillet 2005 - 6 juil. 2005 à 10:54
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 - 6 juil. 2005 à 13:51
salut,

Je voudrai connaître à partir d'une date, son nombre de jours sur l'année,
exemple: 31/12/2004, son nombre de jours est 365 sur l'année.
Y a t'il une fonction pour cela en vb ?

6 réponses

cs_frop01 Messages postés 1352 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 19 novembre 2008 2
6 juil. 2005 à 11:05
salut,



tout simplement par soustraction :

? cdate("31/12/2004")-cdate("01/01/2004")
0
PtitGrumo Messages postés 205 Date d'inscription samedi 22 janvier 2005 Statut Membre Dernière intervention 28 novembre 2005 2
6 juil. 2005 à 11:12
Si tu préfère tu peu faire

public function Calculer_nbJour (laDate as date) as long
Calculer_nbJour = DateDiff("d",laDate,cDate("01/01/" & format(laDate,"yyyy")))
end function

Voila recopie cette fonction et appel la tu verra ca marche quelque soit ta date et son année en cours.

++

PtitGrumo
0
cs_phil23 Messages postés 79 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 14 juillet 2005 1
6 juil. 2005 à 11:15
Avec VB5-6 il y a aussi la fonction Format
Selon ce que tu veux il faut ajuster les paramètres 3 et 4. Par exemple le premier jour de la semaine est le lundi (vbMonday) ou le dimanche (VbSunday) ou .....
Et la première semaine de l'année est celle qui a au moins 4 jours (vbFirstFourDays) ou celle qui a le 1er janvier (vbFirstJan1) ou ....

Dim MaDate As Date

'MaDate = Date 'aujourd'hui
MaDate = "31.12.2004"

'No de la semaine de l'année
MsgBox Format(MaDate, "ww", vbMonday, vbFirstFourDays)

'No du jour de la semaine
MsgBox Format(MaDate, "w", vbMonday, vbFirstFourDays)

'No du jour de l'année
MsgBox Format(MaDate, "y", vbMonday, vbFirstFourDays)
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
6 juil. 2005 à 12:49
il y a aussi ça:

la même chose me dirait vous !

oui presque mais pas tout à fait.

l'avantage c'est qu'au lieu de retourner une chaîne, ça renvoit un numérique



'renvoit le jour dans l'année en Integer

MsgBox DatePart("y", dt, vbUseSystemDayOfWeek, vbUseSystem)


Daniel
0

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

Posez votre question
PtitGrumo Messages postés 205 Date d'inscription samedi 22 janvier 2005 Statut Membre Dernière intervention 28 novembre 2005 2
6 juil. 2005 à 13:40
Heuuu ...

Avec tous mes respect, ma sollution renvoi aussi un numérique sauf qu'en plus elle ne dépend pas de l'année et prend par défaut celle de la date anoncé! gnarkgnarkgnarrrrrk

lol

PtitGrumo
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
6 juil. 2005 à 13:51
je suis d'accord

mais il y a quand même pas mal de conversion avec Format en Variant
retransformé en String, puis ensuite en Date et enfin en Long, ça fait
beaucoup.





et forcémént le jour dans l'année dépend de l'année:

DateDiff("d",laDate,cDate("01/01/" & format(laDate,"yyyy")),vbUseSystemDayOfWeek,vbUseSystem)


Daniel
0