Jour calendaire

Résolu
varach Messages postés 225 Date d'inscription vendredi 14 janvier 2005 Statut Membre Dernière intervention 29 septembre 2016 - 6 sept. 2006 à 13:41
varach Messages postés 225 Date d'inscription vendredi 14 janvier 2005 Statut Membre Dernière intervention 29 septembre 2016 - 6 sept. 2006 à 14:12
Bonjour , je souhaiterai afficher dans un text box le jour calendaire ( 01/01 jour 1 ..... 31/12 365 )
mais je ne trouve pas la cde .

merci votre aide

5 réponses

Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 7
6 sept. 2006 à 14:03
A priori, au moins en VBA, je ne trouve pas cette fonction. Mais tu peux la créer toi même facilement.
Il te suffit de faire la différence entre la date qui t'intéresse et le 01/01 de l'année qui t'intéresse (te suffit de rentrer en variable l'année avec une fonction comme DateSerial par exemple)

Par exemple, la date qui t'intéresse est le 06/09/2006.
Tu le saisis dans une textbox, inputbox, ce que tu veux (je vais prendre une textbox Date) et tu fais :

txt_JourCalendaire.Text = DateValue(txt_date.Text) - DateSerial(Year(txt_date.Text), 1, 1) + 1

Molenn
3
jrivet Messages postés 7393 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
6 sept. 2006 à 14:07
Salut,
Tu peux essayer ceci

Dim D1 As Date
Dim D2 As Date
D2 = "31/12/" & CStr(Year(Date) - 1)
D1 = "01/01/2006"
MsgBox D1 - D2  '=>  donnera 1 ... 365

Ou bien tu peux aussi t'orienter vers la fonction DateDiff

@+,   Ju£i?n
0
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Modérateur Dernière intervention 23 décembre 2008 23
6 sept. 2006 à 14:08
Salut,

N'étant plus sûr qu'une telle fonction existe en VB6, voici un p'tit code qui fait l'affaire





Dim mois(11) as Long
Dim sDate As String
Dim tablo() As String
Dim indiceJour As Integer
Dim indiceMois As Integer
'tableau valable pour les années non bissextiles. a adapter sinon.
mois(0) = 0
mois(1) = 31
mois(2) = 59
mois(3) = 90
mois(4) = 120
mois(5) = 151
mois(6) = 181
mois(7) = 212
mois(8) = 243
mois(9) = 273
mois(10) = 304
mois(11) = 334

sDate = "04/10"
tablo = Split(sDate,"/")
indiceJour = CInt(tablo(0))
indiceMois = CInt(tablo(1))-1
numeroCalendaire = mois(indiceMois) + indiceJour




A toi de faire les tests de validité de sDate (à savoir, jour <32, 0 < mois < 13, ...)







Manu


--------------------------------------------------------------------------------------------
Avant de poster un message, n'oubliez pas de consulter le reglement.
0
PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 49
6 sept. 2006 à 14:10
salut,
çà devrait être correct :

Function DayOfTheYear(dDate As Date) As Integer 
    Dim aMonth() 
    aMonth =   Array (0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334) 

    Dim sDate$ 
    sDate  = Format(dDate, "DDMMYYYY") 

    Dim d%, m%, y% 
    d =   Val (LeftB$(sDate, 4)) 
    m  = Val(MidB$(sDate, 5, 4)) 
    y =   Val (RightB$(sDate, 8)) 

    DayOfTheYear  = Val(aMonth(m - 1)) + d 

'   bisextile?
    If (y And 3) =  0) And (m >= 3) Then DayOfTheYear = DayOfTheYear + 1 

    Erase aMonth 
End Function

<small> Coloration
syntaxique automatique [AFCK] </small>
       

++
PCPT  [AFCK]
<hr size ="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
0

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

Posez votre question
varach Messages postés 225 Date d'inscription vendredi 14 janvier 2005 Statut Membre Dernière intervention 29 septembre 2016
6 sept. 2006 à 14:12
Merci a tous .. j ai pris le code de Molenn qui fonctionne tres bien ..

merci a vous
0
Rejoignez-nous