OVH Cloud OVH Cloud

Format date "anglais"

23 réponses
Avatar
D.Lair
Bonjour =E0 toutes et =E0 tous,
Excel fran=E7ais affiche le format de "12/04/03" (selon=20
format de cellule) comme : "12 avril 2003". Je souhaite=20
que ma macro fasse afficher au format "anglais", c'est-=E0-
dire "12 april 2003". Est-ce possible sans substituer dans=20
la date consid=E9rer comme chaine chaque mois fran=E7ais par=20
sa traduction en anglais, c'est-=E0-dire en for=E7ant sur le=20
format-date dans Excel ?

Merci.
DL

10 réponses

1 2 3
Avatar
michdenis
Bonjour Daniel,

2. Que renvoie MonthName(date) avec une version française (August ou Août)?

MsgBox MonthName(Month(Date), False) renvoie Août.


Salutations!

P.S.

Fais pas sauter un mois d'été, STP! :-)

On va leur échanger le mois de janvier pour 2 mois d'août ! Ils vont finir par ne plus oublier !!

;-))




"Daniel.M" a écrit dans le message de news:uIn00B%
Salut Frédéric,

"May", "June", "July", "September", "October", "November",
"December")


Fais pas sauter un mois d'été, STP! :-)

2 questions sur MonthName():
1. Est-il disponible avec XL97 (il l'est avec XL2000) ?
2. Que renvoie MonthName(date) avec une version française (August ou Août)?

Salutations,

Daniel M.

Avatar
Daniel.M
MsgBox MonthName(Month(Date), False) renvoie Août.


Merci Denis.
Intéressant: je n'arrive pas à me souvenir d'une autre fonction native VBA qui
retourne un résultat différent selon la langue de l'application (XL).


On va leur échanger le mois de janvier pour 2 mois d'août !
Ils vont finir par ne plus oublier !!


Exact. Je serais même prêt à faire un échange équitable (2 mois pour 2 mois) :
Janvier + Février contre Juillet + Août
Et là, ce serait parfait! :-)

Daniel M.

Avatar
GD
Bonsour® JiéL ;-)))
le 30 juin 2004 MichDenis m'avait ici même signalé ce lien :
http://www.microsoft.com/globaldev/reference/winxp/xp-lcid.mspx
voir aussi ici :
http://www.microsoft.com/globaldev/reference/win2k/setup/lcid.mspx

dont on peut brutalement avoir une aperçu de son emploi ci-dessous:
Sub Macro1()
Range("A1").Select
Selection.FormulaLocal = "=AUJOURDHUI()"
For i = 1 To 40
Selection.NumberFormat = "[$-4" & Format(i, "00") & "]dddd, d mmmm
yyyy;@"
DoEvents
MsgBox "suivant"
Next
End Sub

@+

dans news:,
JièL Goubert typed:
Bonjoir(c) D.Lair

vite fait et en tatonnant, dans les format de date, met :
[$-c]j mmmm aaaa
pas que que ça soit une bonne sainte axe, mais ça le fait (avec 2003)

Quelqu'un connait-il les différents code de pays (je suppose que
ç'est ça) que l'on peut utiliser ?


Le 11/08/2004 12:14 vous avez écrit ceci :
Bonjour à toutes et à tous,
Excel français affiche le format de "12/04/03" (selon
format de cellule) comme : "12 avril 2003". Je souhaite
que ma macro fasse afficher au format "anglais", c'est-à-
dire "12 april 2003". Est-ce possible sans substituer dans
la date considérer comme chaine chaque mois français par
sa traduction en anglais, c'est-à-dire en forçant sur le
format-date dans Excel ?

Merci.
DL




Avatar
Frédéric Sigonneau
Bonsoir Daniel,

Honte à moi :)

Function EnAnglais(D)
Dim Mois
Mois = Application.Choose(Month(D), "January", "February", _
"March", "April", "May", "June", "July", "August", _
"September", "October", "November", "December")
EnAnglais = Day(D) & " " & Mois & " " & Year(D)
End Function

2. Que renvoie MonthName(date) avec une version française
(August ou Août)?


août
(tout en minuscule)

FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


Salut Frédéric,


"May", "June", "July", "September", "October", "November",


"December")

Fais pas sauter un mois d'été, STP! :-)

2 questions sur MonthName():
1. Est-il disponible avec XL97 (il l'est avec XL2000) ?
2. Que renvoie MonthName(date) avec une version française (August ou Août)?

Salutations,

Daniel M.





Avatar
Frédéric Sigonneau
Re,

Sans doute pour les mêmes raisons (localisation des parties non numériques d'une
date) WeekdayName semble avoir le même comportement (WeekdayName(2) renvoie mardi).

FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


MsgBox MonthName(Month(Date), False) renvoie Août.



Merci Denis.
Intéressant: je n'arrive pas à me souvenir d'une autre fonction native VBA qui
retourne un résultat différent selon la langue de l'application (XL).



On va leur échanger le mois de janvier pour 2 mois d'août !
Ils vont finir par ne plus oublier !!



Exact. Je serais même prêt à faire un échange équitable (2 mois pour 2 mois) :
Janvier + Février contre Juillet + Août
Et là, ce serait parfait! :-)

Daniel M.





Avatar
Daniel.M
Intéressant: je n'arrive pas à me souvenir d'une autre fonction native VBA qui
retourne un résultat différent selon la langue de l'application (XL).


J'avais tort. Elle ne varie pas selon la langue de l'APPLICATION (XL) mais bien
selon la langue telle que définie dans les paramètres régionaux.

Si je mets "French Canadian" (et oui, Windows est aussi en anglais) et que je
redémarre l'ordi (il le faut), MonthName(Month(Date)) retourne "août".
AMA, c'est plus logique ainsi.

Salutations,

Daniel M.

Avatar
Daniel.M
Sans doute pour les mêmes raisons (localisation des parties non
numériques d'une
date) WeekdayName semble avoir le même comportement
(WeekdayName(2) renvoie mardi).


Avec mes paramètres régionaux à "French Canadian",
WeekdayName(2) retourne "lundi".
Avec mes paramètre régionaux à "French Standard",
WeekdayName(2) retourne "mardi".

Ce qui est cohérent avec tes résultats (et le fait qu'Excel réagit aux
paramètres régionaux).

Par curiosité, quelqu'un saurait-il OÙ le SE conserve cette information? Quelle
est la structure du SE et le champ précis dans lequel Excel va piger pour savoir
que les semaines françaises commencent le Lundi et d'autres le Dimanche?

Car ce n'est pas l'usager qui l'inscrit explicitement. Il ne fait que changer
ses paramètres régionaux.

Salutations,

Daniel M.

Avatar
michdenis
Bonsoir Daniel,

Le OÙ signifie la base de registre :

regarde là :

HKey_Current_User / Control Panel / International


Si le OÙ signifie autre chose ... je n'ai pas compris !


Salutations!



"Daniel.M" a écrit dans le message de news:eG4cZM$
Sans doute pour les mêmes raisons (localisation des parties non
numériques d'une
date) WeekdayName semble avoir le même comportement
(WeekdayName(2) renvoie mardi).


Avec mes paramètres régionaux à "French Canadian",
WeekdayName(2) retourne "lundi".
Avec mes paramètre régionaux à "French Standard",
WeekdayName(2) retourne "mardi".

Ce qui est cohérent avec tes résultats (et le fait qu'Excel réagit aux
paramètres régionaux).

Par curiosité, quelqu'un saurait-il OÙ le SE conserve cette information? Quelle
est la structure du SE et le champ précis dans lequel Excel va piger pour savoir
que les semaines françaises commencent le Lundi et d'autres le Dimanche?

Car ce n'est pas l'usager qui l'inscrit explicitement. Il ne fait que changer
ses paramètres régionaux.

Salutations,

Daniel M.

Avatar
JièL Goubert
Bonjoir(c) GD

Merci, j'ai tout compris ;-)

--
JièL 040c

Le 11/08/2004 23:38 vous avez écrit ceci :
Bonsour® JiéL ;-)))
le 30 juin 2004 MichDenis m'avait ici même signalé ce lien :
http://www.microsoft.com/globaldev/reference/winxp/xp-lcid.mspx
voir aussi ici :
http://www.microsoft.com/globaldev/reference/win2k/setup/lcid.mspx

dont on peut brutalement avoir une aperçu de son emploi ci-dessous:
Sub Macro1()
Range("A1").Select
Selection.FormulaLocal = "=AUJOURDHUI()"
For i = 1 To 40
Selection.NumberFormat = "[$-4" & Format(i, "00") & "]dddd, d mmmm
yyyy;@"
DoEvents
MsgBox "suivant"
Next
End Sub

@+

dans news:,
JièL Goubert typed:

Bonjoir(c) D.Lair

vite fait et en tatonnant, dans les format de date, met :
[$-c]j mmmm aaaa
pas que que ça soit une bonne sainte axe, mais ça le fait (avec 2003)

Quelqu'un connait-il les différents code de pays (je suppose que
ç'est ça) que l'on peut utiliser ?


Le 11/08/2004 12:14 vous avez écrit ceci :

Bonjour à toutes et à tous,
Excel français affiche le format de "12/04/03" (selon
format de cellule) comme : "12 avril 2003". Je souhaite
que ma macro fasse afficher au format "anglais", c'est-à-
dire "12 april 2003". Est-ce possible sans substituer dans
la date considérer comme chaine chaque mois français par
sa traduction en anglais, c'est-à-dire en forçant sur le
format-date dans Excel ?

Merci.
DL






Avatar
Daniel.M
Merci Denis.

Je retrouve effectivement dans la base de registre les infos inscrites par moi
dans le Menu
Start/Settings/Control Panel/Regional Settings

iDate "2"
iTime "1"
iTLZone "1"
Locale 00001009
etc.

Mais, à moins que me fourre-je (RBO tm), je n'y ai pas vu le champ qui dirait
que la semaine commence le dimanche (jour 1) ou le lundi (jour 2).

Or je suis confiant que ce champ existe (car je ne crois pas qu'Excel déduit
cette information du code de language 'Locale') et je parierais qu'il y a un API
qui va récupérer la structure à laquelle il appartient.

Salutations,

Daniel M.


"michdenis" wrote in message
news:%23$WVQa$
Bonsoir Daniel,

Le OÙ signifie la base de registre :

regarde là :

HKey_Current_User / Control Panel / International


Si le OÙ signifie autre chose ... je n'ai pas compris !


Salutations!



"Daniel.M" a écrit dans le message de
news:eG4cZM$

Sans doute pour les mêmes raisons (localisation des parties non
numériques d'une
date) WeekdayName semble avoir le même comportement
(WeekdayName(2) renvoie mardi).


Avec mes paramètres régionaux à "French Canadian",
WeekdayName(2) retourne "lundi".
Avec mes paramètre régionaux à "French Standard",
WeekdayName(2) retourne "mardi".

Ce qui est cohérent avec tes résultats (et le fait qu'Excel réagit aux
paramètres régionaux).

Par curiosité, quelqu'un saurait-il OÙ le SE conserve cette information?
Quelle

est la structure du SE et le champ précis dans lequel Excel va piger pour
savoir

que les semaines françaises commencent le Lundi et d'autres le Dimanche?

Car ce n'est pas l'usager qui l'inscrit explicitement. Il ne fait que changer
ses paramètres régionaux.

Salutations,

Daniel M.



1 2 3