Format personnalisé des nombres dans une textbox
Résolu
Bonjour,
J’utilise cette formule fournie par gbinforme qui marche très bien mais maintenant j’aimerais avoir le résultat sous cette forme : 000.00m3, comment faire avec cette formule.
Merci d’avance.
If IsNumeric(Me. TextBox17) And IsNumeric(Me.TextBox4) And IsNumeric(Me.TextBox5) Then
Me. TextBox13 = CDbl(Me. TextBox4) / CDbl(Me.TextBox5) * CDbl(Me.TextBox17)
Else
End If
End Sub
J’utilise cette formule fournie par gbinforme qui marche très bien mais maintenant j’aimerais avoir le résultat sous cette forme : 000.00m3, comment faire avec cette formule.
Merci d’avance.
If IsNumeric(Me. TextBox17) And IsNumeric(Me.TextBox4) And IsNumeric(Me.TextBox5) Then
Me. TextBox13 = CDbl(Me. TextBox4) / CDbl(Me.TextBox5) * CDbl(Me.TextBox17)
Else
End If
End Sub
12 réponses
-
ContributeurPeux-tu donner quelques exemples de comment c'est affiché pour le moment, et comment tu le voudrais?
Juste un essai :Me. TextBox13 = cstr(CDbl(Me. TextBox4) / CDbl(Me.TextBox5) * CDbl(Me.TextBox17) )+"m3"
-
Contributeurje propose :
Me. TextBox13 = cstr(round(CDbl(Me. TextBox4) / CDbl(Me.TextBox5) * CDbl(Me.TextBox17) ,2)+"m3"
cela devrait arrondir à deux chiffres après la virgule -
Re
Merci de ta réponse rapide, je viens de tester la nouvelle ligne de code et au moment du calcul ce message apparaît:
Erreur de compilation.
Erreur de syntaxe
Merci de te pencher sur mon problème-
-
@yg_beBonjour,
Re
Merci ça correspond à ma demande puisque ‘il affiche bien les m3 avec 2 chiffres après la virgule mais le résultat est faux. Je m’explique 10/22,50*86,400=38,40m3
Résultat dans la textbox si je mets un point à la place de la virgule le résultat final=39.27m3.
Pourtant je voudrai bien continuer à utiliser le point comme séparateur. -
-
-
Bonjour,
L'ancienne formule donne le mauvais résultat aussi si je met un point à la place de la virgule. Que faire pour remédier à cela. -
ContributeurAs-tu gardé le
else
avec rien pourIf IsNumeric(Me. TextBox17) And IsNumeric(Me.TextBox4) And IsNumeric(Me.TextBox5)
Si oui, ajoute ceci entre leelse
et leend if
:Me.TextBox13="?"
Cela donne quoi? -
ContributeurJe propose plutôt ceci:
Private Sub TextBox5_Change() If IsNumeric(Me.TextBox17) And IsNumeric(Me.TextBox4) And IsNumeric(Me.TextBox5) Then Me.TextBox13 = CStr(Round(CDbl(Me.TextBox4) / CDbl(Me.TextBox5) * CDbl(Me.TextBox17), 2)) + "m3" Else Me.TextBox13 = "?" End If End Sub
J'espère que cela va eliminer les erreurs de calcul. On verra ensuite pour te permettre d'utiliser des points. -
ContributeurSi cela fait ce que j'imagine, je propose ceci:
Private Sub TextBox5_Change() If IsNumeric(Me.TextBox17) And IsNumeric(Me.TextBox4) And IsNumeric(replace(Me.TextBox5,".",",")) Then Me.TextBox13 = CStr(Round(CDbl(Me.TextBox4) / CDbl(replace(Me.TextBox5,".",",")) * CDbl(Me.TextBox17), 2)) + "m3" Else Me.TextBox13 = "?" End If End Sub -
ContributeurPeut-être ainsi?
Private Sub TextBox5_Change() If IsNumeric(Me.TextBox17) And IsNumeric(Me.TextBox4) And IsNumeric(replace(Me.TextBox5,".",",")) Then Me.TextBox13 = format(CDbl(Me.TextBox4) / CDbl(replace(Me.TextBox5,".",",")) * CDbl(Me.TextBox17),"0.00") + "m3" Else Me.TextBox13 = "?" End If End Sub -
Bonjour,
J’ais modifier le code avec ta ligne : voilà le résultat 12/41*84,600=25,2878048780488m3,j’aimerais avoir 25,28m3 arrondi à 25,29m3
Merci d’avance.
If IsNumeric(Me. TextBox17) And IsNumeric(Me.TextBox4) And IsNumeric(Me.TextBox5) Then
Me.TextBox13 = CStr(CDbl(Me.TextBox4) / CDbl(Me.TextBox5) * CDbl(Me.TextBox17)) + "m3"
Else
End If
End Sub -
Re
si je met :
Private Sub TextBox5_Change()
If IsNumeric(Me.TextBox17) And IsNumeric(Me.TextBox4) And IsNumeric(Me.TextBox5) Then
Me.TextBox13 = "?" = CStr(Round(CDbl(Me.TextBox4) / CDbl(Me.TextBox5) * CDbl(Me.TextBox17), 2)) + "m3"
Else
End If
End Sub
Au moment du calcul dans textbox =False
J'aimerais utiliser le point que pour ce classeur -
Re
Merci ça marche, a part un tout petit détail.Quand le résultat et 28.40m3 il marque 28.4m3,serait il possible d'avoir le zéro.
En tout cas merci de ta patience. -
Bonjour,
Tu peux tester ce code :Private Sub Calculer_Click()
Dim N1 As Double, N2 As Double, N3 As Double
If Not (IsNumeric(Replace(Me.TextBox17, ".", ",")) And _
IsNumeric(Replace(Me.TextBox4, ".", ",")) And _
IsNumeric(Replace(Me.TextBox5, ".", ","))) Then Exit Sub
N1 = CDbl(Replace(Me.TextBox4, ".", ","))
N2 = CDbl(Replace(Me.TextBox5, ".", ","))
N3 = CDbl(Replace(Me.TextBox17, ".", ","))
Me.TextBox13 = Replace(Format(N1 / N2 * N3, "0.00"), ",", ".") & " m3"
End Sub
A+-
-
@yg_beMerci tout marche bien. A bientôt sur le forum car encore pas mal de question pour finir mon projet.
Gyrus je garde ta réponse sous le coude et je teste dés que je peut.
merci encore de votre patience
-