Reconnaissance paramètres régionaux excel 2007

Le
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.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichDenis
Le #20034391
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"
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.
NaNaeL
Le #20042801
Merci beaucoup pour ta réponse.


Bonne journée,
NaNaeL.



"MichDenis" 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" :

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.




Publicité
Poster une réponse
Anonyme