Format personnalisé des nombres dans une textbox
Résolu/Fermé
Bourrique66
Messages postés
158
Date d'inscription
mardi 2 juin 2015
Statut
Membre
Dernière intervention
25 septembre 2023
-
11 nov. 2016 à 18:56
Bourrique66 Messages postés 158 Date d'inscription mardi 2 juin 2015 Statut Membre Dernière intervention 25 septembre 2023 - 12 nov. 2016 à 11:28
Bourrique66 Messages postés 158 Date d'inscription mardi 2 juin 2015 Statut Membre Dernière intervention 25 septembre 2023 - 12 nov. 2016 à 11:28
A voir également:
- Format personnalisé des nombres dans une textbox
- Format epub - Guide
- Telecharger format factory - Télécharger - Conversion & Codecs
- Format apfs - Guide
- Format dat - Guide
- Hp format tool - Télécharger - Stockage
12 réponses
yg_be
Messages postés
23346
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
24 novembre 2024
Ambassadeur
1 552
11 nov. 2016 à 19:01
11 nov. 2016 à 19:01
Peux-tu donner quelques exemples de comment c'est affiché pour le moment, et comment tu le voudrais?
Juste un essai :
Juste un essai :
Me. TextBox13 = cstr(CDbl(Me. TextBox4) / CDbl(Me.TextBox5) * CDbl(Me.TextBox17) )+"m3"
yg_be
Messages postés
23346
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
24 novembre 2024
Ambassadeur
1 552
11 nov. 2016 à 20:42
11 nov. 2016 à 20:42
je propose :
cela devrait arrondir à deux chiffres après la virgule
Me. TextBox13 = cstr(round(CDbl(Me. TextBox4) / CDbl(Me.TextBox5) * CDbl(Me.TextBox17) ,2)+"m3"
cela devrait arrondir à deux chiffres après la virgule
Bourrique66
Messages postés
158
Date d'inscription
mardi 2 juin 2015
Statut
Membre
Dernière intervention
25 septembre 2023
2
11 nov. 2016 à 20:55
11 nov. 2016 à 20:55
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
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_be
Messages postés
23346
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
24 novembre 2024
1 552
11 nov. 2016 à 21:01
11 nov. 2016 à 21:01
mieux ainsi ?
Me. TextBox13 = cstr(round(CDbl(Me. TextBox4) / CDbl(Me.TextBox5) * CDbl(Me.TextBox17) ,2))+"m3"
Bourrique66
Messages postés
158
Date d'inscription
mardi 2 juin 2015
Statut
Membre
Dernière intervention
25 septembre 2023
2
>
yg_be
Messages postés
23346
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
24 novembre 2024
11 nov. 2016 à 21:17
11 nov. 2016 à 21:17
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.
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.
yg_be
Messages postés
23346
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
24 novembre 2024
1 552
11 nov. 2016 à 22:03
11 nov. 2016 à 22:03
L'ancienne formule donnait le bon résultat, et la nouvelle pas?
ancienne
nouvelle
ancienne
CDbl(Me. TextBox4) / CDbl(Me.TextBox5) * CDbl(Me.TextBox17)
nouvelle
cstr(round(CDbl(Me. TextBox4) / CDbl(Me.TextBox5) * CDbl(Me.TextBox17) ,2))+"m3"
Bourrique66
Messages postés
158
Date d'inscription
mardi 2 juin 2015
Statut
Membre
Dernière intervention
25 septembre 2023
2
12 nov. 2016 à 09:53
12 nov. 2016 à 09:53
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.
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
23346
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
24 novembre 2024
Ambassadeur
1 552
Modifié par yg_be le 12/11/2016 à 10:19
Modifié par yg_be le 12/11/2016 à 10:19
As-tu gardé le
Si oui, ajoute ceci entre le
Cela donne quoi?
elseavec rien pour
If IsNumeric(Me. TextBox17) And IsNumeric(Me.TextBox4) And IsNumeric(Me.TextBox5)
Si oui, ajoute ceci entre le
elseet le
end if:
Me.TextBox13="?"
Cela donne quoi?
yg_be
Messages postés
23346
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
24 novembre 2024
Ambassadeur
1 552
12 nov. 2016 à 10:30
12 nov. 2016 à 10:30
Je propose plutôt ceci:
J'espère que cela va eliminer les erreurs de calcul. On verra ensuite pour te permettre d'utiliser des points.
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
23346
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
24 novembre 2024
Ambassadeur
1 552
12 nov. 2016 à 10:38
12 nov. 2016 à 10:38
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
23346
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
24 novembre 2024
Ambassadeur
1 552
12 nov. 2016 à 10:56
12 nov. 2016 à 10:56
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
Bourrique66
Messages postés
158
Date d'inscription
mardi 2 juin 2015
Statut
Membre
Dernière intervention
25 septembre 2023
2
11 nov. 2016 à 19:57
11 nov. 2016 à 19:57
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
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
Bourrique66
Messages postés
158
Date d'inscription
mardi 2 juin 2015
Statut
Membre
Dernière intervention
25 septembre 2023
2
Modifié par Bourrique66 le 12/11/2016 à 10:26
Modifié par Bourrique66 le 12/11/2016 à 10:26
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
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
Bourrique66
Messages postés
158
Date d'inscription
mardi 2 juin 2015
Statut
Membre
Dernière intervention
25 septembre 2023
2
12 nov. 2016 à 10:44
12 nov. 2016 à 10:44
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.
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.
Gyrus
Messages postés
3334
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
523
12 nov. 2016 à 11:02
12 nov. 2016 à 11:02
Bonjour,
Tu peux tester ce code :
A+
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_be
Messages postés
23346
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
24 novembre 2024
1 552
12 nov. 2016 à 11:07
12 nov. 2016 à 11:07
Si une des valeurs n'est pas numérique, je pense important de faire
Me.TextBox13 = "?", pour ne pas laisser l'ancienne valeur calculée, qui n'est plus correcte.
Bourrique66
Messages postés
158
Date d'inscription
mardi 2 juin 2015
Statut
Membre
Dernière intervention
25 septembre 2023
2
>
yg_be
Messages postés
23346
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
24 novembre 2024
12 nov. 2016 à 11:28
12 nov. 2016 à 11:28
Merci 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
Gyrus je garde ta réponse sous le coude et je teste dés que je peut.
merci encore de votre patience