OVH Cloud OVH Cloud

Question toute bête !

4 réponses
Avatar
pk
ou comment se prendre la tête pour une subtilité .....

Voila le topo :

3 variables : y as integer, m as integer, d as integer
Ces variables contiennent respectivement une année, un mois, un jour
y=2004 m=12 d=31
Je souhaite affecter le résultat à une variable de type Date (dim dt as
Date)
pour obtenir par exemple :
format(dt,"dd mmm yyyy") -> 31 décembre 2004

J'ai bien essayé plusieurs combinaisons du style
dt=cDate(m & "/" & d & "/" & y)
mais le résultat n'est pas bon !

Quelqu'un de sympa peut-il m'aider ?
Merci d'avance

4 réponses

Avatar
Pierre Alexis [MVP]
Salut,

Tu as écrit :

ou comment se prendre la tête pour une subtilité .....

Voila le topo :

3 variables : y as integer, m as integer, d as integer
Ces variables contiennent respectivement une année, un mois, un jour
y 04 m d1
Je souhaite affecter le résultat à une variable de type Date (dim dt as
Date)
pour obtenir par exemple :
format(dt,"dd mmm yyyy") -> 31 décembre 2004

J'ai bien essayé plusieurs combinaisons du style
dtÍate(m & "/" & d & "/" & y)
mais le résultat n'est pas bon !



Il faut utiliser la fonction DateSerial :

Dim maDate As Date

maDate = DateSerial(y, m, d)

--
Pierre ALEXIS - MVP Visual Basic Classique
Courriel & messenger :
FAQ Visual Basic : http://faq.vb.free.fr/
Avatar
pk
C'est vrai que je n'ai pas assez dormi cette nuit
Merci beaucoup

"Pierre Alexis [MVP]" a écrit dans le message de
news:
Salut,

Tu as écrit :

> ou comment se prendre la tête pour une subtilité .....
>
> Voila le topo :
>
> 3 variables : y as integer, m as integer, d as integer
> Ces variables contiennent respectivement une année, un mois, un jour
> y 04 m d1
> Je souhaite affecter le résultat à une variable de type Date (dim dt as
> Date)
> pour obtenir par exemple :
> format(dt,"dd mmm yyyy") -> 31 décembre 2004
>
> J'ai bien essayé plusieurs combinaisons du style
> dtÍate(m & "/" & d & "/" & y)
> mais le résultat n'est pas bon !

Il faut utiliser la fonction DateSerial :

Dim maDate As Date

maDate = DateSerial(y, m, d)

--
Pierre ALEXIS - MVP Visual Basic Classique
Courriel & messenger :
FAQ Visual Basic : http://faq.vb.free.fr/




Avatar
le_troll
Bonjour,

Ce que tu faisais devrait marcher x_as_date = dd & "/" & mm & "/" & yyyy
Sauf que Pierre a raison (dateSerial), car en faisant ainsi, il y a pas de
portabilité de la date vers le système anglophone, j'ai eu ce problème avec
des canadiens, ça leur restituait une date non conforme...

--
Merci, @+, bye, Joe
troll75 AROBASE iFrance POINT com
------------------------------------------
Le_Troll, éleveur de Trolls depuis César, qui disait:
Avec une hache, celui qui tient le manche a toujours raison !


"pk" a écrit dans le message de news:
#
ou comment se prendre la tête pour une subtilité .....

Voila le topo :

3 variables : y as integer, m as integer, d as integer
Ces variables contiennent respectivement une année, un mois, un jour
y 04 m d1
Je souhaite affecter le résultat à une variable de type Date (dim dt as
Date)
pour obtenir par exemple :
format(dt,"dd mmm yyyy") -> 31 décembre 2004

J'ai bien essayé plusieurs combinaisons du style
dtÍate(m & "/" & d & "/" & y)
mais le résultat n'est pas bon !

Quelqu'un de sympa peut-il m'aider ?
Merci d'avance





Avatar
pk
merci

"le_troll" a écrit dans le message de
news:
Bonjour,

Ce que tu faisais devrait marcher x_as_date = dd & "/" & mm & "/" &


yyyy
Sauf que Pierre a raison (dateSerial), car en faisant ainsi, il y a pas de
portabilité de la date vers le système anglophone, j'ai eu ce problème


avec
des canadiens, ça leur restituait une date non conforme...

--
Merci, @+, bye, Joe
troll75 AROBASE iFrance POINT com
------------------------------------------
Le_Troll, éleveur de Trolls depuis César, qui disait:
Avec une hache, celui qui tient le manche a toujours raison !


"pk" a écrit dans le message de news:
#
> ou comment se prendre la tête pour une subtilité .....
>
> Voila le topo :
>
> 3 variables : y as integer, m as integer, d as integer
> Ces variables contiennent respectivement une année, un mois, un jour
> y 04 m d1
> Je souhaite affecter le résultat à une variable de type Date (dim dt as
> Date)
> pour obtenir par exemple :
> format(dt,"dd mmm yyyy") -> 31 décembre 2004
>
> J'ai bien essayé plusieurs combinaisons du style
> dtÍate(m & "/" & d & "/" & y)
> mais le résultat n'est pas bon !
>
> Quelqu'un de sympa peut-il m'aider ?
> Merci d'avance
>
>
>