Une petite question concernant la mise en forme d'une textbox.
Dans un userform j'ais des textbox destiné à acceuillir des chiffres avec décimales. Comment limité ces dècimales au nombres de trois maxi ?
Merci de votre aide
a+ CBR
Textbox1 = Round(Textbox1 * 1000, 0) / 1000
ChrisV
Bonjour CBR,
With TextBox1 On Error Resume Next .Value = CDbl(.Value) If Err.Number <> 0 Then _ .Value = CDbl(Application.Substitute(.Value, ",", ".")) If Err.Number <> 0 Then _ .Value = CDbl(Application.Substitute(.Value, ".", ",")) If IsNumeric(.Value) Then .Value = Format(.Value, "# ##0.000") Else .Value = "" MsgBox "Format non-valide !", vbCritical, "ERREUR..." .SetFocus Exit Sub End If End With
ChrisV
"CBR" a écrit dans le message de news: 43945163$0$20839$
Bonjour tlm
Une petite question concernant la mise en forme d'une textbox.
Dans un userform j'ais des textbox destiné à acceuillir des chiffres avec décimales. Comment limité ces dècimales au nombres de trois maxi ?
Merci de votre aide
a+ CBR
Bonjour CBR,
With TextBox1
On Error Resume Next
.Value = CDbl(.Value)
If Err.Number <> 0 Then _
.Value = CDbl(Application.Substitute(.Value, ",", "."))
If Err.Number <> 0 Then _
.Value = CDbl(Application.Substitute(.Value, ".", ","))
If IsNumeric(.Value) Then
.Value = Format(.Value, "# ##0.000")
Else
.Value = ""
MsgBox "Format non-valide !", vbCritical, "ERREUR..."
.SetFocus
Exit Sub
End If
End With
ChrisV
"CBR" <nospam_cbr.zone57@free.fr> a écrit dans le message de news:
43945163$0$20839$636a55ce@news.free.fr...
Bonjour tlm
Une petite question concernant la mise en forme d'une textbox.
Dans un userform j'ais des textbox destiné à acceuillir des chiffres avec
décimales. Comment limité ces dècimales au nombres de trois maxi ?
With TextBox1 On Error Resume Next .Value = CDbl(.Value) If Err.Number <> 0 Then _ .Value = CDbl(Application.Substitute(.Value, ",", ".")) If Err.Number <> 0 Then _ .Value = CDbl(Application.Substitute(.Value, ".", ",")) If IsNumeric(.Value) Then .Value = Format(.Value, "# ##0.000") Else .Value = "" MsgBox "Format non-valide !", vbCritical, "ERREUR..." .SetFocus Exit Sub End If End With
ChrisV
"CBR" a écrit dans le message de news: 43945163$0$20839$
Bonjour tlm
Une petite question concernant la mise en forme d'une textbox.
Dans un userform j'ais des textbox destiné à acceuillir des chiffres avec décimales. Comment limité ces dècimales au nombres de trois maxi ?
Merci de votre aide
a+ CBR
Denys
Bonjour CBR,
If Left(Right(Me.TextBox1.Text, 3), 1) = "." Then KeyAscii = 0
Bonne journée
Denys
Bonjour CBR,
With TextBox1 On Error Resume Next .Value = CDbl(.Value) If Err.Number <> 0 Then _ .Value = CDbl(Application.Substitute(.Value, ",", ".")) If Err.Number <> 0 Then _ .Value = CDbl(Application.Substitute(.Value, ".", ",")) If IsNumeric(.Value) Then .Value = Format(.Value, "# ##0.000") Else .Value = "" MsgBox "Format non-valide !", vbCritical, "ERREUR..." .SetFocus Exit Sub End If End With
ChrisV
"CBR" a écrit dans le message de news: 43945163$0$20839$
Bonjour tlm
Une petite question concernant la mise en forme d'une textbox.
Dans un userform j'ais des textbox destiné à acceuillir des chiffres avec décimales. Comment limité ces dècimales au nombres de trois maxi ?
Merci de votre aide
a+ CBR
Bonjour CBR,
If Left(Right(Me.TextBox1.Text, 3), 1) = "." Then KeyAscii = 0
Bonne journée
Denys
Bonjour CBR,
With TextBox1
On Error Resume Next
.Value = CDbl(.Value)
If Err.Number <> 0 Then _
.Value = CDbl(Application.Substitute(.Value, ",", "."))
If Err.Number <> 0 Then _
.Value = CDbl(Application.Substitute(.Value, ".", ","))
If IsNumeric(.Value) Then
.Value = Format(.Value, "# ##0.000")
Else
.Value = ""
MsgBox "Format non-valide !", vbCritical, "ERREUR..."
.SetFocus
Exit Sub
End If
End With
ChrisV
"CBR" <nospam_cbr.zone57@free.fr> a écrit dans le message de news:
43945163$0$20839$636a55ce@news.free.fr...
Bonjour tlm
Une petite question concernant la mise en forme d'une textbox.
Dans un userform j'ais des textbox destiné à acceuillir des chiffres avec
décimales. Comment limité ces dècimales au nombres de trois maxi ?
If Left(Right(Me.TextBox1.Text, 3), 1) = "." Then KeyAscii = 0
Bonne journée
Denys
Bonjour CBR,
With TextBox1 On Error Resume Next .Value = CDbl(.Value) If Err.Number <> 0 Then _ .Value = CDbl(Application.Substitute(.Value, ",", ".")) If Err.Number <> 0 Then _ .Value = CDbl(Application.Substitute(.Value, ".", ",")) If IsNumeric(.Value) Then .Value = Format(.Value, "# ##0.000") Else .Value = "" MsgBox "Format non-valide !", vbCritical, "ERREUR..." .SetFocus Exit Sub End If End With
ChrisV
"CBR" a écrit dans le message de news: 43945163$0$20839$
Bonjour tlm
Une petite question concernant la mise en forme d'une textbox.
Dans un userform j'ais des textbox destiné à acceuillir des chiffres avec décimales. Comment limité ces dècimales au nombres de trois maxi ?
Merci de votre aide
a+ CBR
CBR
J'ais essayé les 2 soluces, aucune ne marche ???? Vous les mettez où ces lignes ? Dans Sub textbox1_change ? ou ailleur ?
CBR
"Denys" a écrit dans le message de news:
Bonjour CBR,
If Left(Right(Me.TextBox1.Text, 3), 1) = "." Then KeyAscii = 0
Bonne journée
Denys
Bonjour CBR,
With TextBox1 On Error Resume Next .Value = CDbl(.Value) If Err.Number <> 0 Then _ .Value = CDbl(Application.Substitute(.Value, ",", ".")) If Err.Number <> 0 Then _ .Value = CDbl(Application.Substitute(.Value, ".", ",")) If IsNumeric(.Value) Then .Value = Format(.Value, "# ##0.000") Else .Value = "" MsgBox "Format non-valide !", vbCritical, "ERREUR..." .SetFocus Exit Sub End If End With
ChrisV
"CBR" a écrit dans le message de news: 43945163$0$20839$
Bonjour tlm
Une petite question concernant la mise en forme d'une textbox.
Dans un userform j'ais des textbox destiné à acceuillir des chiffres avec décimales. Comment limité ces dècimales au nombres de trois maxi ?
Merci de votre aide
a+ CBR
J'ais essayé les 2 soluces, aucune ne marche ????
Vous les mettez où ces lignes ? Dans Sub textbox1_change ? ou ailleur ?
CBR
"Denys" <Denys@discussions.microsoft.com> a écrit dans le message de news:
DBA8BCF1-01E2-4AE1-AE9B-687D20FF9B6E@microsoft.com...
Bonjour CBR,
If Left(Right(Me.TextBox1.Text, 3), 1) = "." Then KeyAscii = 0
Bonne journée
Denys
Bonjour CBR,
With TextBox1
On Error Resume Next
.Value = CDbl(.Value)
If Err.Number <> 0 Then _
.Value = CDbl(Application.Substitute(.Value, ",", "."))
If Err.Number <> 0 Then _
.Value = CDbl(Application.Substitute(.Value, ".", ","))
If IsNumeric(.Value) Then
.Value = Format(.Value, "# ##0.000")
Else
.Value = ""
MsgBox "Format non-valide !", vbCritical, "ERREUR..."
.SetFocus
Exit Sub
End If
End With
ChrisV
"CBR" <nospam_cbr.zone57@free.fr> a écrit dans le message de news:
43945163$0$20839$636a55ce@news.free.fr...
Bonjour tlm
Une petite question concernant la mise en forme d'une textbox.
Dans un userform j'ais des textbox destiné à acceuillir des chiffres
avec
décimales. Comment limité ces dècimales au nombres de trois maxi ?
J'ais essayé les 2 soluces, aucune ne marche ???? Vous les mettez où ces lignes ? Dans Sub textbox1_change ? ou ailleur ?
CBR
"Denys" a écrit dans le message de news:
Bonjour CBR,
If Left(Right(Me.TextBox1.Text, 3), 1) = "." Then KeyAscii = 0
Bonne journée
Denys
Bonjour CBR,
With TextBox1 On Error Resume Next .Value = CDbl(.Value) If Err.Number <> 0 Then _ .Value = CDbl(Application.Substitute(.Value, ",", ".")) If Err.Number <> 0 Then _ .Value = CDbl(Application.Substitute(.Value, ".", ",")) If IsNumeric(.Value) Then .Value = Format(.Value, "# ##0.000") Else .Value = "" MsgBox "Format non-valide !", vbCritical, "ERREUR..." .SetFocus Exit Sub End If End With
ChrisV
"CBR" a écrit dans le message de news: 43945163$0$20839$
Bonjour tlm
Une petite question concernant la mise en forme d'une textbox.
Dans un userform j'ais des textbox destiné à acceuillir des chiffres avec décimales. Comment limité ces dècimales au nombres de trois maxi ?
Merci de votre aide
a+ CBR
Denys
Bonjour CBR,
OOOoooppppsss... s'cuse-moi
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) On Error Resume Next If KeyAscii < 46 Or KeyAscii > 57 Then KeyAscii = 0 End If If Left(Right(Me.TextBox9.Text, 3), 1) = "." Then KeyAscii = 0 End Sub
La condition KeyAscii est pour empêcher d'écrire autre chose qu'un chiffre...
Voilà
Denys
J'ais essayé les 2 soluces, aucune ne marche ???? Vous les mettez où ces lignes ? Dans Sub textbox1_change ? ou ailleur ?
CBR
"Denys" a écrit dans le message de news:
Bonjour CBR,
If Left(Right(Me.TextBox1.Text, 3), 1) = "." Then KeyAscii = 0
Bonne journée
Denys
Bonjour CBR,
With TextBox1 On Error Resume Next .Value = CDbl(.Value) If Err.Number <> 0 Then _ .Value = CDbl(Application.Substitute(.Value, ",", ".")) If Err.Number <> 0 Then _ .Value = CDbl(Application.Substitute(.Value, ".", ",")) If IsNumeric(.Value) Then .Value = Format(.Value, "# ##0.000") Else .Value = "" MsgBox "Format non-valide !", vbCritical, "ERREUR..." .SetFocus Exit Sub End If End With
ChrisV
"CBR" a écrit dans le message de news: 43945163$0$20839$
Bonjour tlm
Une petite question concernant la mise en forme d'une textbox.
Dans un userform j'ais des textbox destiné à acceuillir des chiffres avec décimales. Comment limité ces dècimales au nombres de trois maxi ?
Merci de votre aide
a+ CBR
Bonjour CBR,
OOOoooppppsss... s'cuse-moi
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
On Error Resume Next
If KeyAscii < 46 Or KeyAscii > 57 Then
KeyAscii = 0
End If
If Left(Right(Me.TextBox9.Text, 3), 1) = "." Then KeyAscii = 0
End Sub
La condition KeyAscii est pour empêcher d'écrire autre chose qu'un chiffre...
Voilà
Denys
J'ais essayé les 2 soluces, aucune ne marche ????
Vous les mettez où ces lignes ? Dans Sub textbox1_change ? ou ailleur ?
CBR
"Denys" <Denys@discussions.microsoft.com> a écrit dans le message de news:
DBA8BCF1-01E2-4AE1-AE9B-687D20FF9B6E@microsoft.com...
Bonjour CBR,
If Left(Right(Me.TextBox1.Text, 3), 1) = "." Then KeyAscii = 0
Bonne journée
Denys
Bonjour CBR,
With TextBox1
On Error Resume Next
.Value = CDbl(.Value)
If Err.Number <> 0 Then _
.Value = CDbl(Application.Substitute(.Value, ",", "."))
If Err.Number <> 0 Then _
.Value = CDbl(Application.Substitute(.Value, ".", ","))
If IsNumeric(.Value) Then
.Value = Format(.Value, "# ##0.000")
Else
.Value = ""
MsgBox "Format non-valide !", vbCritical, "ERREUR..."
.SetFocus
Exit Sub
End If
End With
ChrisV
"CBR" <nospam_cbr.zone57@free.fr> a écrit dans le message de news:
43945163$0$20839$636a55ce@news.free.fr...
Bonjour tlm
Une petite question concernant la mise en forme d'une textbox.
Dans un userform j'ais des textbox destiné à acceuillir des chiffres
avec
décimales. Comment limité ces dècimales au nombres de trois maxi ?
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) On Error Resume Next If KeyAscii < 46 Or KeyAscii > 57 Then KeyAscii = 0 End If If Left(Right(Me.TextBox9.Text, 3), 1) = "." Then KeyAscii = 0 End Sub
La condition KeyAscii est pour empêcher d'écrire autre chose qu'un chiffre...
Voilà
Denys
J'ais essayé les 2 soluces, aucune ne marche ???? Vous les mettez où ces lignes ? Dans Sub textbox1_change ? ou ailleur ?
CBR
"Denys" a écrit dans le message de news:
Bonjour CBR,
If Left(Right(Me.TextBox1.Text, 3), 1) = "." Then KeyAscii = 0
Bonne journée
Denys
Bonjour CBR,
With TextBox1 On Error Resume Next .Value = CDbl(.Value) If Err.Number <> 0 Then _ .Value = CDbl(Application.Substitute(.Value, ",", ".")) If Err.Number <> 0 Then _ .Value = CDbl(Application.Substitute(.Value, ".", ",")) If IsNumeric(.Value) Then .Value = Format(.Value, "# ##0.000") Else .Value = "" MsgBox "Format non-valide !", vbCritical, "ERREUR..." .SetFocus Exit Sub End If End With
ChrisV
"CBR" a écrit dans le message de news: 43945163$0$20839$
Bonjour tlm
Une petite question concernant la mise en forme d'une textbox.
Dans un userform j'ais des textbox destiné à acceuillir des chiffres avec décimales. Comment limité ces dècimales au nombres de trois maxi ?
Merci de votre aide
a+ CBR
CBR
heuuu! là c'est moi qui ai oublié de prèciser que ces données n'étaient pas entrées manuellement textbox1.text est renseigné par macro et çà ne peut etre qu'un chiffre donc pas d'erreur de saisie possible. de ce fait " Private Sub TextBox1_KeyPress" n'est pas le bon endroit non plus. les textbox sont renseignées dans "Private Sub ComboBox1_Change()" CBR
"Denys" a écrit dans le message de news:
Bonjour CBR,
OOOoooppppsss... s'cuse-moi
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) On Error Resume Next If KeyAscii < 46 Or KeyAscii > 57 Then KeyAscii = 0 End If If Left(Right(Me.TextBox9.Text, 3), 1) = "." Then KeyAscii = 0 End Sub
La condition KeyAscii est pour empêcher d'écrire autre chose qu'un chiffre...
Voilà
Denys
J'ais essayé les 2 soluces, aucune ne marche ???? Vous les mettez où ces lignes ? Dans Sub textbox1_change ? ou ailleur ?
CBR
heuuu! là c'est moi qui ai oublié de prèciser que ces données n'étaient pas
entrées manuellement
textbox1.text est renseigné par macro et çà ne peut etre qu'un chiffre donc
pas d'erreur de saisie possible.
de ce fait " Private Sub TextBox1_KeyPress" n'est pas le bon endroit non
plus.
les textbox sont renseignées dans "Private Sub ComboBox1_Change()"
CBR
"Denys" <Denys@discussions.microsoft.com> a écrit dans le message de news:
7E23B025-AB33-44D8-8C93-9597E68FC209@microsoft.com...
Bonjour CBR,
OOOoooppppsss... s'cuse-moi
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
On Error Resume Next
If KeyAscii < 46 Or KeyAscii > 57 Then
KeyAscii = 0
End If
If Left(Right(Me.TextBox9.Text, 3), 1) = "." Then KeyAscii = 0
End Sub
La condition KeyAscii est pour empêcher d'écrire autre chose qu'un
chiffre...
Voilà
Denys
J'ais essayé les 2 soluces, aucune ne marche ????
Vous les mettez où ces lignes ? Dans Sub textbox1_change ? ou ailleur ?
heuuu! là c'est moi qui ai oublié de prèciser que ces données n'étaient pas entrées manuellement textbox1.text est renseigné par macro et çà ne peut etre qu'un chiffre donc pas d'erreur de saisie possible. de ce fait " Private Sub TextBox1_KeyPress" n'est pas le bon endroit non plus. les textbox sont renseignées dans "Private Sub ComboBox1_Change()" CBR
"Denys" a écrit dans le message de news:
Bonjour CBR,
OOOoooppppsss... s'cuse-moi
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) On Error Resume Next If KeyAscii < 46 Or KeyAscii > 57 Then KeyAscii = 0 End If If Left(Right(Me.TextBox9.Text, 3), 1) = "." Then KeyAscii = 0 End Sub
La condition KeyAscii est pour empêcher d'écrire autre chose qu'un chiffre...
Voilà
Denys
J'ais essayé les 2 soluces, aucune ne marche ???? Vous les mettez où ces lignes ? Dans Sub textbox1_change ? ou ailleur ?
CBR
Pierre Archambault
Salut CBR
textbox1 = Format(Valeur, "####0.000") 'Utilise le format approprié (point ou virgule décimale etc.) Valeur étant le nombre qui doit être affiché
Bonne chance
Pierre
"CBR" a écrit dans le message de news:43945163$0$20839$
Bonjour tlm
Une petite question concernant la mise en forme d'une textbox.
Dans un userform j'ais des textbox destiné à acceuillir des chiffres avec décimales. Comment limité ces dècimales au nombres de trois maxi ?
Merci de votre aide
a+ CBR
Salut CBR
textbox1 = Format(Valeur, "####0.000") 'Utilise le format approprié
(point ou virgule décimale etc.)
Valeur étant le nombre qui doit être affiché
Bonne chance
Pierre
"CBR" <nospam_cbr.zone57@free.fr> a écrit dans le message de
news:43945163$0$20839$636a55ce@news.free.fr...
Bonjour tlm
Une petite question concernant la mise en forme d'une textbox.
Dans un userform j'ais des textbox destiné à acceuillir des chiffres avec
décimales. Comment limité ces dècimales au nombres de trois maxi ?
textbox1 = Format(Valeur, "####0.000") 'Utilise le format approprié (point ou virgule décimale etc.) Valeur étant le nombre qui doit être affiché
Bonne chance
Pierre
"CBR" a écrit dans le message de news:43945163$0$20839$
Bonjour tlm
Une petite question concernant la mise en forme d'une textbox.
Dans un userform j'ais des textbox destiné à acceuillir des chiffres avec décimales. Comment limité ces dècimales au nombres de trois maxi ?
Merci de votre aide
a+ CBR
CBR
Oui Pierre, je viens de trouver comment faire J'utilise effectivement cette formule, mais pas directement sur la textbox1, mais sur le chiffre que la macro y entre.
let résultat = format(valeur,"# ##0.000") textbox1.text = résultat
Merci de vous avoir creusé les méninges
a+
CBR
"Pierre Archambault" a écrit dans le message de news: hD%kf.26505$
Salut CBR
textbox1 = Format(Valeur, "####0.000") 'Utilise le format approprié (point ou virgule décimale etc.) Valeur étant le nombre qui doit être affiché
Bonne chance
Pierre
Oui Pierre, je viens de trouver comment faire
J'utilise effectivement cette formule, mais pas directement sur la textbox1,
mais sur le chiffre que la macro y entre.
let résultat = format(valeur,"# ##0.000")
textbox1.text = résultat
Merci de vous avoir creusé les méninges
a+
CBR
"Pierre Archambault" <pierre.archambault@videotron.ca> a écrit dans le
message de news: hD%kf.26505$qI6.429654@weber.videotron.net...
Salut CBR
textbox1 = Format(Valeur, "####0.000") 'Utilise le format approprié
(point ou virgule décimale etc.)
Valeur étant le nombre qui doit être affiché
Oui Pierre, je viens de trouver comment faire J'utilise effectivement cette formule, mais pas directement sur la textbox1, mais sur le chiffre que la macro y entre.
let résultat = format(valeur,"# ##0.000") textbox1.text = résultat
Merci de vous avoir creusé les méninges
a+
CBR
"Pierre Archambault" a écrit dans le message de news: hD%kf.26505$
Salut CBR
textbox1 = Format(Valeur, "####0.000") 'Utilise le format approprié (point ou virgule décimale etc.) Valeur étant le nombre qui doit être affiché