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

Signaler
Messages postés
2
Date d'inscription
mercredi 6 juillet 2005
Statut
Membre
Dernière intervention
7 juillet 2005
-
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
-
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

Messages postés
1352
Date d'inscription
lundi 27 octobre 2003
Statut
Membre
Dernière intervention
19 novembre 2008
2
salut,



tout simplement par soustraction :

? cdate("31/12/2004")-cdate("01/01/2004")
Messages postés
205
Date d'inscription
samedi 22 janvier 2005
Statut
Membre
Dernière intervention
28 novembre 2005
2
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
Messages postés
79
Date d'inscription
mardi 23 septembre 2003
Statut
Membre
Dernière intervention
14 juillet 2005
1
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)
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
31
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
Messages postés
205
Date d'inscription
samedi 22 janvier 2005
Statut
Membre
Dernière intervention
28 novembre 2005
2
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
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
31
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