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

Reconnaissance paramètres régionaux excel 2007

2 réponses
Avatar
NaNaeL
Bonjour à tous,

J'ai de gros problèmes avec la reconnaissance des paramètres régionaux avec
VBA dans
excel 2007.

En effet, quand j'utilise la fonction vba Date pour set la date d'une
cellule je me retourne avec un format du type mm/jj/aaaa.

De même, quand je récupère un nombre à virgule depuis une cellule, la
virgule est automatiquement convertie en point
mais quand je set une cellule avec une valeur à point depuis VBA, la
conversion ne se fait pas et je suis obligée de transformer la valeur en
chaine et de remplacer manuellement le point par une virgule.

Y a-t-il quelque chose à faire car tout cela est vraiment fastidieux ?

Merci d'avance,
NaNaeL.

2 réponses

Avatar
MichDenis
Bonjour,

VBA utilise les paramètres régionaux "Américains" puisque le
logiciel émane des USA.

Si tu as comme code en VBA.

Range("A1") = Date
En A1 tu auras la date d'aujourd'hui au format défini dans le panneau de configuration de
l'ordinateur.

Si tu désires un format particulier, tu fais :
With Range("A1")
.NumberFormat = "AAAA/MM/DD"
.Value = Date
End with

Attention, si la date est contenu dans une variable de type "String"
dim MaDate As String
MaDate = "05/08/09"

Dans le dernier cas, comme Excel - VBA n'a aucune façon de savoir
si l'usager voulait signifier : 5 août 2009 ou 8 mai 2009 ou 9 août 2005
VBA applique automatiquement le format Américain à la date : M/J/aaaa

Concernant le séparateur décimale, En VBA, tu utilises le point et lorsque
tu transfères la donnée vers la feuille de calcul, Excel transforme le séparateur
décimale au besoin... nul besoin de modifier ça par code.
Attention, es-tu sûr que ta cellule est au format Standard ?
Dim X As double
X = 12.36
range("B1") = x





"NaNaeL" a écrit dans le message de groupe de discussion :

Bonjour à tous,

J'ai de gros problèmes avec la reconnaissance des paramètres régionaux avec
VBA dans
excel 2007.

En effet, quand j'utilise la fonction vba Date pour set la date d'une
cellule je me retourne avec un format du type mm/jj/aaaa.

De même, quand je récupère un nombre à virgule depuis une cellule, la
virgule est automatiquement convertie en point
mais quand je set une cellule avec une valeur à point depuis VBA, la
conversion ne se fait pas et je suis obligée de transformer la valeur en
chaine et de remplacer manuellement le point par une virgule.

Y a-t-il quelque chose à faire car tout cela est vraiment fastidieux ?

Merci d'avance,
NaNaeL.
Avatar
NaNaeL
Merci beaucoup pour ta réponse.


Bonne journée,
NaNaeL.



"MichDenis" a écrit dans le message de
news:u$%
Bonjour,

VBA utilise les paramètres régionaux "Américains" puisque le
logiciel émane des USA.

Si tu as comme code en VBA.

Range("A1") = Date
En A1 tu auras la date d'aujourd'hui au format défini dans le panneau de
configuration de
l'ordinateur.

Si tu désires un format particulier, tu fais :
With Range("A1")
.NumberFormat = "AAAA/MM/DD"
.Value = Date
End with

Attention, si la date est contenu dans une variable de type "String"
dim MaDate As String
MaDate = "05/08/09"

Dans le dernier cas, comme Excel - VBA n'a aucune façon de savoir
si l'usager voulait signifier : 5 août 2009 ou 8 mai 2009 ou 9 août 2005
VBA applique automatiquement le format Américain à la date : M/J/aaaa

Concernant le séparateur décimale, En VBA, tu utilises le point et lorsque
tu transfères la donnée vers la feuille de calcul, Excel transforme le
séparateur
décimale au besoin... nul besoin de modifier ça par code.
Attention, es-tu sûr que ta cellule est au format Standard ?
Dim X As double
X = 12.36
range("B1") = x





"NaNaeL" a écrit dans le message de groupe de discussion
:

Bonjour à tous,

J'ai de gros problèmes avec la reconnaissance des paramètres régionaux
avec
VBA dans
excel 2007.

En effet, quand j'utilise la fonction vba Date pour set la date d'une
cellule je me retourne avec un format du type mm/jj/aaaa.

De même, quand je récupère un nombre à virgule depuis une cellule, la
virgule est automatiquement convertie en point
mais quand je set une cellule avec une valeur à point depuis VBA, la
conversion ne se fait pas et je suis obligée de transformer la valeur en
chaine et de remplacer manuellement le point par une virgule.

Y a-t-il quelque chose à faire car tout cela est vraiment fastidieux ?

Merci d'avance,
NaNaeL.