Format personnalisé des nombres dans une textbox
Résolu
Bourrique66
Messages postés
166
Statut
Membre
-
Bourrique66 Messages postés 166 Statut Membre -
Bourrique66 Messages postés 166 Statut Membre -
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
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
Peux-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"
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
je 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-
mieux ainsi ?
Me. TextBox13 = cstr(round(CDbl(Me. TextBox4) / CDbl(Me.TextBox5) * CDbl(Me.TextBox17) ,2))+"m3"
- Bonjour,
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. -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
As-tu gardé leelse
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? -
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
Je 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. -
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
Si 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 -
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
Peut-ê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+