Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Date au format américain.

4 réponses
Avatar
StDonat
Bonjour à tous et à toutes.
Je dois comparer une cellule qui contient une date au format américain,
« 20090115 » , à la date du jour.J’essaye donc de noter la date du jour au
format américain avec
Range(« datejour »)= Year(Date)& Format(Month(Date), "mm")&
Format(Day(Date), "dd")
Et j’obtiens: 20091211 alors que nous sommes le 12 janvier 2009 ?
Si je ne met pas les « format » :
Range(« datejour »)= Year(Date)& Month(Date)& Day(Date)
J’obtiens quelque chose de mieux 2009112
mais qui ne me permet pas de comparer les date il me faut janvier sur 2
digits ?
Merci de votre aide

4 réponses

Avatar
Daniel.C
Bonjour.
La syntaxe correcte serait :
Range("datejour") = Year(Date) & Format(Date, "mm") & Format(Date,
"dd")
que tu peux simplifier :
Range("datejour") = Format(Date, "yyyymmdd")
Cordialement.
Daniel

Bonjour à tous et à toutes.
Je dois comparer une cellule qui contient une date au format américain,
« 20090115 » , à la date du jour.J’essaye donc de noter la date du jour au
format américain avec
Range(« datejour »)= Year(Date)& Format(Month(Date), "mm")&
Format(Day(Date), "dd")
Et j’obtiens: 20091211 alors que nous sommes le 12 janvier 2009 ?
Si je ne met pas les « format » :
Range(« datejour »)= Year(Date)& Month(Date)& Day(Date)
J’obtiens quelque chose de mieux 2009112
mais qui ne me permet pas de comparer les date il me faut janvier sur 2
digits ?
Merci de votre aide


Avatar
StDonat
Merci c'est nickel.
Mais sait tu pourquoi Format(Month(date),"mm") ne renvois pas 01 mais 12 ?

"Daniel.C" wrote:

Bonjour.
La syntaxe correcte serait :
Range("datejour") = Year(Date) & Format(Date, "mm") & Format(Date,
"dd")
que tu peux simplifier :
Range("datejour") = Format(Date, "yyyymmdd")
Cordialement.
Daniel

> Bonjour à tous et à toutes.
> Je dois comparer une cellule qui contient une date au format américain,
> « 20090115 » , à la date du jour.J’essaye donc de noter la date du jour au
> format américain avec
> Range(« datejour »)= Year(Date)& Format(Month(Date), "mm")&
> Format(Day(Date), "dd")
> Et j’obtiens: 20091211 alors que nous sommes le 12 janvier 2009 ?
> Si je ne met pas les « format » :
> Range(« datejour »)= Year(Date)& Month(Date)& Day(Date)
> J’obtiens quelque chose de mieux 2009112
> mais qui ne me permet pas de comparer les date il me faut janvier sur 2
> digits ?
> Merci de votre aide





Avatar
Daniel.C
Je ne suis pa sûr de ce qui suit :
Month(date) = 1
=>
Format(1,"mm")
1 considéré comme une date est le 01/01/1900
=>
Format(1,"mm") = Format(01/01/1900,"mm")
si format considère 01/01/1900 comme une suite de divisions 0.000526315789473684
soit le jour 0 c'est à dire le 31/12/1899
d'où le mois = 12.
Il aurait fallu écrire, puisque Month(date) n'est pas une date mais un
nombre compris entre 1 et 12 :
Format(Month(Date), "00")
Daniel

Merci c'est nickel.
Mais sait tu pourquoi Format(Month(date),"mm") ne renvois pas 01 mais 12 ?

"Daniel.C" wrote:

Bonjour.
La syntaxe correcte serait :
Range("datejour") = Year(Date) & Format(Date, "mm") & Format(Date,
"dd")
que tu peux simplifier :
Range("datejour") = Format(Date, "yyyymmdd")
Cordialement.
Daniel

Bonjour à tous et à toutes.
Je dois comparer une cellule qui contient une date au format américain,
« 20090115 » , à la date du jour.J’essaye donc de noter la date du jour au
format américain avec
Range(« datejour »)= Year(Date)& Format(Month(Date), "mm")&
Format(Day(Date), "dd")
Et j’obtiens: 20091211 alors que nous sommes le 12 janvier 2009 ?
Si je ne met pas les « format » :
Range(« datejour »)= Year(Date)& Month(Date)& Day(Date)
J’obtiens quelque chose de mieux 2009112
mais qui ne me permet pas de comparer les date il me faut janvier sur 2
digits ?
Merci de votre aide









Avatar
StDonat
Merci . Excuse moi mais j'ai compris le probléme apres avoir posté ma
deuxieme question!
Mais ton excellente réponse servira surement la communauté

"Daniel.C" wrote:

Je ne suis pa sûr de ce qui suit :
Month(date) = 1
=>
Format(1,"mm")
1 considéré comme une date est le 01/01/1900
=>
Format(1,"mm") = Format(01/01/1900,"mm")
si format considère 01/01/1900 comme une suite de divisions > 0.000526315789473684
soit le jour 0 c'est à dire le 31/12/1899
d'où le mois = 12.
Il aurait fallu écrire, puisque Month(date) n'est pas une date mais un
nombre compris entre 1 et 12 :
Format(Month(Date), "00")
Daniel

> Merci c'est nickel.
> Mais sait tu pourquoi Format(Month(date),"mm") ne renvois pas 01 mais 12 ?
>
> "Daniel.C" wrote:
>
>> Bonjour.
>> La syntaxe correcte serait :
>> Range("datejour") = Year(Date) & Format(Date, "mm") & Format(Date,
>> "dd")
>> que tu peux simplifier :
>> Range("datejour") = Format(Date, "yyyymmdd")
>> Cordialement.
>> Daniel
>>
>>> Bonjour à tous et à toutes.
>>> Je dois comparer une cellule qui contient une date au format américain,
>>> « 20090115 » , à la date du jour.J’essaye donc de noter la date du jour au
>>> format américain avec
>>> Range(« datejour »)= Year(Date)& Format(Month(Date), "mm")&
>>> Format(Day(Date), "dd")
>>> Et j’obtiens: 20091211 alors que nous sommes le 12 janvier 2009 ?
>>> Si je ne met pas les « format » :
>>> Range(« datejour »)= Year(Date)& Month(Date)& Day(Date)
>>> J’obtiens quelque chose de mieux 2009112
>>> mais qui ne me permet pas de comparer les date il me faut janvier sur 2
>>> digits ?
>>> Merci de votre aide
>>
>>
>>