OVH Cloud OVH Cloud

Format numérique avec "," et non "."

2 réponses
Avatar
Eric
le format "." dans VBA ne fonctionne pas si les param=E8tres=20
de l'ordinateur sont en mode ",".

De l'aide.

Merci

2 réponses

Avatar
Pierre CFI
bonjour
dans quel contexte ? car en vb c'est toujours un point pour décimales, format mm/dd/yyyy pour les dates etc...

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Eric" a écrit dans le message de news: 38a701c3993f$17b827c0$
le format "." dans VBA ne fonctionne pas si les paramètres
de l'ordinateur sont en mode ",".

De l'aide.

Merci
Avatar
Michel Gaboly
Bonjour,

C'est effectivement le cas pour la saisie dans un TextBox par exemple

Si tu as besoin que la valeur entrée dans un TexBox, "TMontant" par exemple soit un nombre positif,
utilise la propriété "International" pour lire le séparateur actif, et remplacer lors de la frappe
point ou virgule par le séparateur :

Private Sub TMontant_Change()
If TMontant<> "" Then
Sep = Application.International(xlDecimalSeparator)
TMontant = Application.WorksheetFunction.Substitute(TMontant, ".", Sep)
TMontant = Application.WorksheetFunction.Substitute(TMontant, ",", Sep)
If Not IsNumeric(TextBox1) Then
MsgBox "Le montant doit être un nombre positif !"
' Suppression du dernier caractère entré.
TextBox1 = Left(TextBox1, Len(TextBox1) - 1)
End If
End If
End Sub

Une adaptation est nécessaire pour accepter les nombres négatifs (accepter "-" en première position) :

If TMontant <> "" And TMontant <> "-" Then
...
MsgBox "Le montant doit être un nombre !"
...


le format "." dans VBA ne fonctionne pas si les paramètres
de l'ordinateur sont en mode ",".

De l'aide.

Merci


--
Cordialement,

Michel Gaboly
http://www.gaboly.com