OVH Cloud OVH Cloud

Quand VBA prend des points pour des virgules !

11 réponses
Avatar
garnote
Rebonsoir,

J'ai une question pour vous dans le code.

Sub nono()
Dim t As String
t = "x^2+1"
i = 2
'La suivante est OK :
MsgBox Evaluate(Replace(t, "x", i))
i = 0.5
'La suivante ne fonctionne pas :
MsgBox Evaluate(Replace(t, "x", i))
'Suis-je obligé de faire cet incroyable détour ? :
MsgBox Evaluate(Replace(t, "x", Replace(i, ",", ".")))
'Pourtant, i ne contient pas de virgule !!!
End Sub

Curieux, non ?

Serge

1 réponse

1 2
Avatar
Maence HUBICHE
une solution simple : tu change le séparateur de décimales
dans le panneau de configuration/ paramètres régionaux.

En fait, il y a conflit entre le paramétrage US du VBA et
le paramétrage français d'Excel.
En uniformisant en mettant un point (.) partout, tu
n'auras plus le problème.

Sinon, tu peux essyer de le modifier avec <les Apis, si ca
t'intéresse, dis-le, je te chercherai un bout de code. ;)
1 2