Problème de division dans un private sub

Cydor007

XLDnaute Occasionnel
Bonjour,

J'essaie de faire une division dans un private sub mais je n'obtiens pas la valeur désirée dans ma cellule.

Tout d'abord, j'ai une variable en string et une constante de 25.4 en Currency.

J'essaie s'écrire 25.4 dans un textbox et si je clique sur mm OptionButtonUnitéMM_Click le calcul suivant ce fait:
25.4 /25.4 = 1. Le problème est que j'obtiens 1.016. Donc, pour obtenir 1.016 il faut faire 25.4/25 = 1.016. Comment faire pour avoir 1 et non 1.016. C'est comme s'il transforme ma constante 25.4 en 25.:(

Voici mon code:

Private Sub OptionButtonUnitéMM_Click()
Dim Number As Currency
Dim ChangeUnitéPO As String
Number = 25.4
ChangeUnitéPO = AjustementConducteurSupérieur.Value
'Number = CInt(ChangeUnitéPO)
If OptionButtonUnitéMM = True Then
Range("P14") = (Val(ChangeUnitéPO) / Val(Number))
End If
End Sub

J'aimerais avoir une réponse dans la cellule P14 une valeur de 1.000.

Quelqu'un a une idée ?

Merci

Cydor007
 

Dranreb

XLDnaute Barbatruc
Re : Problème de division dans un private sub

Bpnsoir.

Je pense que je le ferais simplement comme ça :
VB:
Private Sub OptionButtonUnitéMM_Click()
Range("P14").Value = CCur(Replace( _
   AjustementConducteurSupérieur.Value, ".", ",")) / 25.4@
End Sub

C'est pas faux, bonjour MaPomme
 

Cydor007

XLDnaute Occasionnel
Re : Problème de division dans un private sub

Bonjour à tous,

Les 2 solutions sont très bonne. Merci c'est super.

J'ai un autre souci c'est que si je veux changer la valeur dans mon textbox Private Sub AjustementConducteurSupérieur_Change()
Si je change la valeur de 25.4 à 100, par exemple, la valeur dans ma cellule P14 ne change pas.

Est-ce qu'il faut que j'écrive une condition dans mon texte box pour changer la valeur?
C'est dans Private Sub AjustementConducteurSupérieur_Change() ou Private Sub AjustementConducteurSupérieur_AfterUpdate()
qu'il faut intervenir?

Avez-vous une idée ?

Merci
Cydor
 

Cydor007

XLDnaute Occasionnel
Re : Problème de division dans un private sub

Rien compris. Ce 25.4 est une constante ou une variable ? Et où on la trouve ?

Bonjour,

Désolé de ne pas être assez claire.

Je vais me reprendre.

Voici mon code:

Private Sub OptionButtonUnitéMM_Click()
Dim Number As Currency
Dim ChangeUnitéPO As String
Number = 25.4
ChangeUnitéPO = AjustementConducteurSupérieur.Value
If OptionButtonUnitéMM = True Then
Range("P14") = (Val(ChangeUnitéPO) / Val(Number))
End If
End Sub

25.4 est une constante. En fait je fais une conversion de métrique à impériale...
Donc dans un textbox, l'utilisateur entre la valeur X (AjustementConducteurSupérieur.Value) et choisi le format d'unité désirée OptionButtonUnitéMM_Click ou OptionButtonUnitéPO_Click. Jusque là tout va bien.

Mon problème est que s'il faut corrigé la valeur dans le textbox(AjustementConducteurSupérieur), le résultat de la cellule P14 ne change pas directement.

J'espère que c'est plus claire.

Merci

Cydor007
 

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 899
Membres
101 834
dernier inscrit
Jeremy06510