Limiter le nombre de caractères à 2 après avoir choisi le point
7 réponses
Denys
Bonjour à tous,
Je reformule un peu une question que j'avais posée et dont je n'ai pas
obtenu de réponse....
Je voudrais limiter l'usager à un maximun de 2 décimales dans un textbox.
Alors, est-il possible de dire à Excel que si l'usager inscrit . alors le
nombre maximum de caractères qu'il pourra inscrire par la suite sera de 2....
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
isabelle
bonjour Denys,
Private Sub TextBox1_AfterUpdate() T = CDbl(TextBox1) - Int(CDbl(TextBox1)) TextBox1 = Int(CDbl(TextBox1)) & Mid(T, 2, 3) End Sub
isabelle
Bonjour à tous,
Je reformule un peu une question que j'avais posée et dont je n'ai pas obtenu de réponse....
Je voudrais limiter l'usager à un maximun de 2 décimales dans un textbox. Alors, est-il possible de dire à Excel que si l'usager inscrit . alors le nombre maximum de caractères qu'il pourra inscrire par la suite sera de 2....
Peut-être est-ce plus clair ainsi...
Merci
Denys
bonjour Denys,
Private Sub TextBox1_AfterUpdate()
T = CDbl(TextBox1) - Int(CDbl(TextBox1))
TextBox1 = Int(CDbl(TextBox1)) & Mid(T, 2, 3)
End Sub
isabelle
Bonjour à tous,
Je reformule un peu une question que j'avais posée et dont je n'ai pas
obtenu de réponse....
Je voudrais limiter l'usager à un maximun de 2 décimales dans un textbox.
Alors, est-il possible de dire à Excel que si l'usager inscrit . alors le
nombre maximum de caractères qu'il pourra inscrire par la suite sera de 2....
Private Sub TextBox1_AfterUpdate() T = CDbl(TextBox1) - Int(CDbl(TextBox1)) TextBox1 = Int(CDbl(TextBox1)) & Mid(T, 2, 3) End Sub
isabelle
Bonjour à tous,
Je reformule un peu une question que j'avais posée et dont je n'ai pas obtenu de réponse....
Je voudrais limiter l'usager à un maximun de 2 décimales dans un textbox. Alors, est-il possible de dire à Excel que si l'usager inscrit . alors le nombre maximum de caractères qu'il pourra inscrire par la suite sera de 2....
Peut-être est-ce plus clair ainsi...
Merci
Denys
isabelle
ou bien plus simplement,
Private Sub TextBox1_AfterUpdate() TextBox1 = Format(TextBox1, "0.00") End Sub
isabelle
Bonjour à tous,
Je reformule un peu une question que j'avais posée et dont je n'ai pas obtenu de réponse....
Je voudrais limiter l'usager à un maximun de 2 décimales dans un textbox. Alors, est-il possible de dire à Excel que si l'usager inscrit . alors le nombre maximum de caractères qu'il pourra inscrire par la suite sera de 2....
Peut-être est-ce plus clair ainsi...
Merci
Denys
ou bien plus simplement,
Private Sub TextBox1_AfterUpdate()
TextBox1 = Format(TextBox1, "0.00")
End Sub
isabelle
Bonjour à tous,
Je reformule un peu une question que j'avais posée et dont je n'ai pas
obtenu de réponse....
Je voudrais limiter l'usager à un maximun de 2 décimales dans un textbox.
Alors, est-il possible de dire à Excel que si l'usager inscrit . alors le
nombre maximum de caractères qu'il pourra inscrire par la suite sera de 2....
Private Sub TextBox1_AfterUpdate() TextBox1 = Format(TextBox1, "0.00") End Sub
isabelle
Bonjour à tous,
Je reformule un peu une question que j'avais posée et dont je n'ai pas obtenu de réponse....
Je voudrais limiter l'usager à un maximun de 2 décimales dans un textbox. Alors, est-il possible de dire à Excel que si l'usager inscrit . alors le nombre maximum de caractères qu'il pourra inscrire par la suite sera de 2....
Peut-être est-ce plus clair ainsi...
Merci
Denys
Denys
Bonjour Isabelle,
Merci beaucoup, cependant, cela n'empêche pas la personne d'écrire 32.567 dans le textbox, ce dont je voulais éviter.....
Peut-être serait-il plus simple de créer 2 textbox, soit 1 pour le montant en dollars, et l'autre pour les cents.....
Bonne journée
Denys
ou bien plus simplement,
Private Sub TextBox1_AfterUpdate() TextBox1 = Format(TextBox1, "0.00") End Sub
isabelle
Bonjour à tous,
Je reformule un peu une question que j'avais posée et dont je n'ai pas obtenu de réponse....
Je voudrais limiter l'usager à un maximun de 2 décimales dans un textbox. Alors, est-il possible de dire à Excel que si l'usager inscrit . alors le nombre maximum de caractères qu'il pourra inscrire par la suite sera de 2....
Peut-être est-ce plus clair ainsi...
Merci
Denys
Bonjour Isabelle,
Merci beaucoup, cependant, cela n'empêche pas la personne d'écrire 32.567
dans le textbox, ce dont je voulais éviter.....
Peut-être serait-il plus simple de créer 2 textbox, soit 1 pour le montant
en dollars, et l'autre pour les cents.....
Bonne journée
Denys
ou bien plus simplement,
Private Sub TextBox1_AfterUpdate()
TextBox1 = Format(TextBox1, "0.00")
End Sub
isabelle
Bonjour à tous,
Je reformule un peu une question que j'avais posée et dont je n'ai pas
obtenu de réponse....
Je voudrais limiter l'usager à un maximun de 2 décimales dans un textbox.
Alors, est-il possible de dire à Excel que si l'usager inscrit . alors le
nombre maximum de caractères qu'il pourra inscrire par la suite sera de 2....
Merci beaucoup, cependant, cela n'empêche pas la personne d'écrire 32.567 dans le textbox, ce dont je voulais éviter.....
Peut-être serait-il plus simple de créer 2 textbox, soit 1 pour le montant en dollars, et l'autre pour les cents.....
Bonne journée
Denys
ou bien plus simplement,
Private Sub TextBox1_AfterUpdate() TextBox1 = Format(TextBox1, "0.00") End Sub
isabelle
Bonjour à tous,
Je reformule un peu une question que j'avais posée et dont je n'ai pas obtenu de réponse....
Je voudrais limiter l'usager à un maximun de 2 décimales dans un textbox. Alors, est-il possible de dire à Excel que si l'usager inscrit . alors le nombre maximum de caractères qu'il pourra inscrire par la suite sera de 2....
Peut-être est-ce plus clair ainsi...
Merci
Denys
anonymousA
bonjour, en supposant que ton textbox s'appelle textbox1. Par ailleurs, ne gère pas l'eventualité d'un nombre frappé par l'utilisateur et qui n'en serait pas un.
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
On Error Resume Next If Left(Right(Me.TextBox1.Text, 3), 1) = "." Then KeyAscii = 0
End Sub
A+
Bonjour Isabelle,
Merci beaucoup, cependant, cela n'empêche pas la personne d'écrire 32.567 dans le textbox, ce dont je voulais éviter.....
Peut-être serait-il plus simple de créer 2 textbox, soit 1 pour le montant en dollars, et l'autre pour les cents.....
Bonne journée
Denys
ou bien plus simplement,
Private Sub TextBox1_AfterUpdate() TextBox1 = Format(TextBox1, "0.00") End Sub
isabelle
Bonjour à tous,
Je reformule un peu une question que j'avais posée et dont je n'ai pas obtenu de réponse....
Je voudrais limiter l'usager à un maximun de 2 décimales dans un textbox. Alors, est-il possible de dire à Excel que si l'usager inscrit . alors le nombre maximum de caractères qu'il pourra inscrire par la suite sera de 2....
Peut-être est-ce plus clair ainsi...
Merci
Denys
bonjour,
en supposant que ton textbox s'appelle textbox1. Par ailleurs, ne gère
pas l'eventualité d'un nombre frappé par l'utilisateur et qui n'en
serait pas un.
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
On Error Resume Next
If Left(Right(Me.TextBox1.Text, 3), 1) = "." Then KeyAscii = 0
End Sub
A+
Bonjour Isabelle,
Merci beaucoup, cependant, cela n'empêche pas la personne d'écrire 32.567
dans le textbox, ce dont je voulais éviter.....
Peut-être serait-il plus simple de créer 2 textbox, soit 1 pour le montant
en dollars, et l'autre pour les cents.....
Bonne journée
Denys
ou bien plus simplement,
Private Sub TextBox1_AfterUpdate()
TextBox1 = Format(TextBox1, "0.00")
End Sub
isabelle
Bonjour à tous,
Je reformule un peu une question que j'avais posée et dont je n'ai pas
obtenu de réponse....
Je voudrais limiter l'usager à un maximun de 2 décimales dans un textbox.
Alors, est-il possible de dire à Excel que si l'usager inscrit . alors le
nombre maximum de caractères qu'il pourra inscrire par la suite sera de 2....
bonjour, en supposant que ton textbox s'appelle textbox1. Par ailleurs, ne gère pas l'eventualité d'un nombre frappé par l'utilisateur et qui n'en serait pas un.
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
On Error Resume Next If Left(Right(Me.TextBox1.Text, 3), 1) = "." Then KeyAscii = 0
End Sub
A+
Bonjour Isabelle,
Merci beaucoup, cependant, cela n'empêche pas la personne d'écrire 32.567 dans le textbox, ce dont je voulais éviter.....
Peut-être serait-il plus simple de créer 2 textbox, soit 1 pour le montant en dollars, et l'autre pour les cents.....
Bonne journée
Denys
ou bien plus simplement,
Private Sub TextBox1_AfterUpdate() TextBox1 = Format(TextBox1, "0.00") End Sub
isabelle
Bonjour à tous,
Je reformule un peu une question que j'avais posée et dont je n'ai pas obtenu de réponse....
Je voudrais limiter l'usager à un maximun de 2 décimales dans un textbox. Alors, est-il possible de dire à Excel que si l'usager inscrit . alors le nombre maximum de caractères qu'il pourra inscrire par la suite sera de 2....
Peut-être est-ce plus clair ainsi...
Merci
Denys
Denys
Bonjour AnonymousA,
Merci infiniment !!!!!!!!!!!!!!!!!!!
C'est excatement ce dont j'avais besoin......
Voici ton code plus un petit quelque chose qui empêche autre chose qu'un chiffre soit tapé...
Private Sub TextBox9_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
Bonne fin de semaine
Denys
bonjour, en supposant que ton textbox s'appelle textbox1. Par ailleurs, ne gère pas l'eventualité d'un nombre frappé par l'utilisateur et qui n'en serait pas un.
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
On Error Resume Next If Left(Right(Me.TextBox1.Text, 3), 1) = "." Then KeyAscii = 0
End Sub
A+
Bonjour Isabelle,
Merci beaucoup, cependant, cela n'empêche pas la personne d'écrire 32.567 dans le textbox, ce dont je voulais éviter.....
Peut-être serait-il plus simple de créer 2 textbox, soit 1 pour le montant en dollars, et l'autre pour les cents.....
Bonne journée
Denys
ou bien plus simplement,
Private Sub TextBox1_AfterUpdate() TextBox1 = Format(TextBox1, "0.00") End Sub
isabelle
Bonjour à tous,
Je reformule un peu une question que j'avais posée et dont je n'ai pas obtenu de réponse....
Je voudrais limiter l'usager à un maximun de 2 décimales dans un textbox. Alors, est-il possible de dire à Excel que si l'usager inscrit . alors le nombre maximum de caractères qu'il pourra inscrire par la suite sera de 2....
Peut-être est-ce plus clair ainsi...
Merci
Denys
Bonjour AnonymousA,
Merci infiniment !!!!!!!!!!!!!!!!!!!
C'est excatement ce dont j'avais besoin......
Voici ton code plus un petit quelque chose qui empêche autre chose qu'un
chiffre soit tapé...
Private Sub TextBox9_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
Bonne fin de semaine
Denys
bonjour,
en supposant que ton textbox s'appelle textbox1. Par ailleurs, ne gère
pas l'eventualité d'un nombre frappé par l'utilisateur et qui n'en
serait pas un.
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
On Error Resume Next
If Left(Right(Me.TextBox1.Text, 3), 1) = "." Then KeyAscii = 0
End Sub
A+
Bonjour Isabelle,
Merci beaucoup, cependant, cela n'empêche pas la personne d'écrire 32.567
dans le textbox, ce dont je voulais éviter.....
Peut-être serait-il plus simple de créer 2 textbox, soit 1 pour le montant
en dollars, et l'autre pour les cents.....
Bonne journée
Denys
ou bien plus simplement,
Private Sub TextBox1_AfterUpdate()
TextBox1 = Format(TextBox1, "0.00")
End Sub
isabelle
Bonjour à tous,
Je reformule un peu une question que j'avais posée et dont je n'ai pas
obtenu de réponse....
Je voudrais limiter l'usager à un maximun de 2 décimales dans un textbox.
Alors, est-il possible de dire à Excel que si l'usager inscrit . alors le
nombre maximum de caractères qu'il pourra inscrire par la suite sera de 2....
Voici ton code plus un petit quelque chose qui empêche autre chose qu'un chiffre soit tapé...
Private Sub TextBox9_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
Bonne fin de semaine
Denys
bonjour, en supposant que ton textbox s'appelle textbox1. Par ailleurs, ne gère pas l'eventualité d'un nombre frappé par l'utilisateur et qui n'en serait pas un.
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
On Error Resume Next If Left(Right(Me.TextBox1.Text, 3), 1) = "." Then KeyAscii = 0
End Sub
A+
Bonjour Isabelle,
Merci beaucoup, cependant, cela n'empêche pas la personne d'écrire 32.567 dans le textbox, ce dont je voulais éviter.....
Peut-être serait-il plus simple de créer 2 textbox, soit 1 pour le montant en dollars, et l'autre pour les cents.....
Bonne journée
Denys
ou bien plus simplement,
Private Sub TextBox1_AfterUpdate() TextBox1 = Format(TextBox1, "0.00") End Sub
isabelle
Bonjour à tous,
Je reformule un peu une question que j'avais posée et dont je n'ai pas obtenu de réponse....
Je voudrais limiter l'usager à un maximun de 2 décimales dans un textbox. Alors, est-il possible de dire à Excel que si l'usager inscrit . alors le nombre maximum de caractères qu'il pourra inscrire par la suite sera de 2....
Peut-être est-ce plus clair ainsi...
Merci
Denys
anonymousA
re,
méfie-toi quand même , car écrire If KeyAscii < 46 Or KeyAscii > 57 n'empêche pas que la chaine de caractères constituée puisse être autre chose qu'une valeur numérique. En effet, ce code n'empêche pas que l'utilisateur puisse frapper p.e 0.5. ce qui n"est evidemment pas une séquence numérique. En l'occurence, une fois dans ton test KeyPress , il serait souhaitable que tu utilises isnumeric(cdbl(me.textbox9.value)) pour verifier si la chaine de caactères peut être considérée comme une valeur numérique
A+
Bonjour AnonymousA,
Merci infiniment !!!!!!!!!!!!!!!!!!!
C'est excatement ce dont j'avais besoin......
Voici ton code plus un petit quelque chose qui empêche autre chose qu'un chiffre soit tapé...
Private Sub TextBox9_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
Bonne fin de semaine
Denys
bonjour, en supposant que ton textbox s'appelle textbox1. Par ailleurs, ne gère pas l'eventualité d'un nombre frappé par l'utilisateur et qui n'en serait pas un.
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
On Error Resume Next If Left(Right(Me.TextBox1.Text, 3), 1) = "." Then KeyAscii = 0
End Sub
A+
Bonjour Isabelle,
Merci beaucoup, cependant, cela n'empêche pas la personne d'écrire 32.567 dans le textbox, ce dont je voulais éviter.....
Peut-être serait-il plus simple de créer 2 textbox, soit 1 pour le montant en dollars, et l'autre pour les cents.....
Bonne journée
Denys
ou bien plus simplement,
Private Sub TextBox1_AfterUpdate() TextBox1 = Format(TextBox1, "0.00") End Sub
isabelle
Bonjour à tous,
Je reformule un peu une question que j'avais posée et dont je n'ai pas obtenu de réponse....
Je voudrais limiter l'usager à un maximun de 2 décimales dans un textbox. Alors, est-il possible de dire à Excel que si l'usager inscrit . alors le nombre maximum de caractères qu'il pourra inscrire par la suite sera de 2....
Peut-être est-ce plus clair ainsi...
Merci
Denys
re,
méfie-toi quand même , car écrire If KeyAscii < 46 Or KeyAscii > 57
n'empêche pas que la chaine de caractères constituée puisse être autre
chose qu'une valeur numérique. En effet, ce code n'empêche pas que
l'utilisateur puisse frapper p.e 0.5. ce qui n"est evidemment pas une
séquence numérique.
En l'occurence, une fois dans ton test KeyPress , il serait souhaitable
que tu utilises isnumeric(cdbl(me.textbox9.value)) pour verifier si la
chaine de caactères peut être considérée comme une valeur numérique
A+
Bonjour AnonymousA,
Merci infiniment !!!!!!!!!!!!!!!!!!!
C'est excatement ce dont j'avais besoin......
Voici ton code plus un petit quelque chose qui empêche autre chose qu'un
chiffre soit tapé...
Private Sub TextBox9_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
Bonne fin de semaine
Denys
bonjour,
en supposant que ton textbox s'appelle textbox1. Par ailleurs, ne gère
pas l'eventualité d'un nombre frappé par l'utilisateur et qui n'en
serait pas un.
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
On Error Resume Next
If Left(Right(Me.TextBox1.Text, 3), 1) = "." Then KeyAscii = 0
End Sub
A+
Bonjour Isabelle,
Merci beaucoup, cependant, cela n'empêche pas la personne d'écrire 32.567
dans le textbox, ce dont je voulais éviter.....
Peut-être serait-il plus simple de créer 2 textbox, soit 1 pour le montant
en dollars, et l'autre pour les cents.....
Bonne journée
Denys
ou bien plus simplement,
Private Sub TextBox1_AfterUpdate()
TextBox1 = Format(TextBox1, "0.00")
End Sub
isabelle
Bonjour à tous,
Je reformule un peu une question que j'avais posée et dont je n'ai pas
obtenu de réponse....
Je voudrais limiter l'usager à un maximun de 2 décimales dans un textbox.
Alors, est-il possible de dire à Excel que si l'usager inscrit . alors le
nombre maximum de caractères qu'il pourra inscrire par la suite sera de 2....
méfie-toi quand même , car écrire If KeyAscii < 46 Or KeyAscii > 57 n'empêche pas que la chaine de caractères constituée puisse être autre chose qu'une valeur numérique. En effet, ce code n'empêche pas que l'utilisateur puisse frapper p.e 0.5. ce qui n"est evidemment pas une séquence numérique. En l'occurence, une fois dans ton test KeyPress , il serait souhaitable que tu utilises isnumeric(cdbl(me.textbox9.value)) pour verifier si la chaine de caactères peut être considérée comme une valeur numérique
A+
Bonjour AnonymousA,
Merci infiniment !!!!!!!!!!!!!!!!!!!
C'est excatement ce dont j'avais besoin......
Voici ton code plus un petit quelque chose qui empêche autre chose qu'un chiffre soit tapé...
Private Sub TextBox9_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
Bonne fin de semaine
Denys
bonjour, en supposant que ton textbox s'appelle textbox1. Par ailleurs, ne gère pas l'eventualité d'un nombre frappé par l'utilisateur et qui n'en serait pas un.
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
On Error Resume Next If Left(Right(Me.TextBox1.Text, 3), 1) = "." Then KeyAscii = 0
End Sub
A+
Bonjour Isabelle,
Merci beaucoup, cependant, cela n'empêche pas la personne d'écrire 32.567 dans le textbox, ce dont je voulais éviter.....
Peut-être serait-il plus simple de créer 2 textbox, soit 1 pour le montant en dollars, et l'autre pour les cents.....
Bonne journée
Denys
ou bien plus simplement,
Private Sub TextBox1_AfterUpdate() TextBox1 = Format(TextBox1, "0.00") End Sub
isabelle
Bonjour à tous,
Je reformule un peu une question que j'avais posée et dont je n'ai pas obtenu de réponse....
Je voudrais limiter l'usager à un maximun de 2 décimales dans un textbox. Alors, est-il possible de dire à Excel que si l'usager inscrit . alors le nombre maximum de caractères qu'il pourra inscrire par la suite sera de 2....
Peut-être est-ce plus clair ainsi...
Merci
Denys
Denys
Merci beaucoup de cette précision...
Sois sûr que je m'en souviendrai...
Denys
re,
méfie-toi quand même , car écrire If KeyAscii < 46 Or KeyAscii > 57 n'empêche pas que la chaine de caractères constituée puisse être autre chose qu'une valeur numérique. En effet, ce code n'empêche pas que l'utilisateur puisse frapper p.e 0.5. ce qui n"est evidemment pas une séquence numérique. En l'occurence, une fois dans ton test KeyPress , il serait souhaitable que tu utilises isnumeric(cdbl(me.textbox9.value)) pour verifier si la chaine de caactères peut être considérée comme une valeur numérique
A+
Bonjour AnonymousA,
Merci infiniment !!!!!!!!!!!!!!!!!!!
C'est excatement ce dont j'avais besoin......
Voici ton code plus un petit quelque chose qui empêche autre chose qu'un chiffre soit tapé...
Private Sub TextBox9_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
Bonne fin de semaine
Denys
bonjour, en supposant que ton textbox s'appelle textbox1. Par ailleurs, ne gère pas l'eventualité d'un nombre frappé par l'utilisateur et qui n'en serait pas un.
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
On Error Resume Next If Left(Right(Me.TextBox1.Text, 3), 1) = "." Then KeyAscii = 0
End Sub
A+
Bonjour Isabelle,
Merci beaucoup, cependant, cela n'empêche pas la personne d'écrire 32.567 dans le textbox, ce dont je voulais éviter.....
Peut-être serait-il plus simple de créer 2 textbox, soit 1 pour le montant en dollars, et l'autre pour les cents.....
Bonne journée
Denys
ou bien plus simplement,
Private Sub TextBox1_AfterUpdate() TextBox1 = Format(TextBox1, "0.00") End Sub
isabelle
Bonjour à tous,
Je reformule un peu une question que j'avais posée et dont je n'ai pas obtenu de réponse....
Je voudrais limiter l'usager à un maximun de 2 décimales dans un textbox. Alors, est-il possible de dire à Excel que si l'usager inscrit . alors le nombre maximum de caractères qu'il pourra inscrire par la suite sera de 2....
Peut-être est-ce plus clair ainsi...
Merci
Denys
Merci beaucoup de cette précision...
Sois sûr que je m'en souviendrai...
Denys
re,
méfie-toi quand même , car écrire If KeyAscii < 46 Or KeyAscii > 57
n'empêche pas que la chaine de caractères constituée puisse être autre
chose qu'une valeur numérique. En effet, ce code n'empêche pas que
l'utilisateur puisse frapper p.e 0.5. ce qui n"est evidemment pas une
séquence numérique.
En l'occurence, une fois dans ton test KeyPress , il serait souhaitable
que tu utilises isnumeric(cdbl(me.textbox9.value)) pour verifier si la
chaine de caactères peut être considérée comme une valeur numérique
A+
Bonjour AnonymousA,
Merci infiniment !!!!!!!!!!!!!!!!!!!
C'est excatement ce dont j'avais besoin......
Voici ton code plus un petit quelque chose qui empêche autre chose qu'un
chiffre soit tapé...
Private Sub TextBox9_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
Bonne fin de semaine
Denys
bonjour,
en supposant que ton textbox s'appelle textbox1. Par ailleurs, ne gère
pas l'eventualité d'un nombre frappé par l'utilisateur et qui n'en
serait pas un.
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
On Error Resume Next
If Left(Right(Me.TextBox1.Text, 3), 1) = "." Then KeyAscii = 0
End Sub
A+
Bonjour Isabelle,
Merci beaucoup, cependant, cela n'empêche pas la personne d'écrire 32.567
dans le textbox, ce dont je voulais éviter.....
Peut-être serait-il plus simple de créer 2 textbox, soit 1 pour le montant
en dollars, et l'autre pour les cents.....
Bonne journée
Denys
ou bien plus simplement,
Private Sub TextBox1_AfterUpdate()
TextBox1 = Format(TextBox1, "0.00")
End Sub
isabelle
Bonjour à tous,
Je reformule un peu une question que j'avais posée et dont je n'ai pas
obtenu de réponse....
Je voudrais limiter l'usager à un maximun de 2 décimales dans un textbox.
Alors, est-il possible de dire à Excel que si l'usager inscrit . alors le
nombre maximum de caractères qu'il pourra inscrire par la suite sera de 2....
méfie-toi quand même , car écrire If KeyAscii < 46 Or KeyAscii > 57 n'empêche pas que la chaine de caractères constituée puisse être autre chose qu'une valeur numérique. En effet, ce code n'empêche pas que l'utilisateur puisse frapper p.e 0.5. ce qui n"est evidemment pas une séquence numérique. En l'occurence, une fois dans ton test KeyPress , il serait souhaitable que tu utilises isnumeric(cdbl(me.textbox9.value)) pour verifier si la chaine de caactères peut être considérée comme une valeur numérique
A+
Bonjour AnonymousA,
Merci infiniment !!!!!!!!!!!!!!!!!!!
C'est excatement ce dont j'avais besoin......
Voici ton code plus un petit quelque chose qui empêche autre chose qu'un chiffre soit tapé...
Private Sub TextBox9_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
Bonne fin de semaine
Denys
bonjour, en supposant que ton textbox s'appelle textbox1. Par ailleurs, ne gère pas l'eventualité d'un nombre frappé par l'utilisateur et qui n'en serait pas un.
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
On Error Resume Next If Left(Right(Me.TextBox1.Text, 3), 1) = "." Then KeyAscii = 0
End Sub
A+
Bonjour Isabelle,
Merci beaucoup, cependant, cela n'empêche pas la personne d'écrire 32.567 dans le textbox, ce dont je voulais éviter.....
Peut-être serait-il plus simple de créer 2 textbox, soit 1 pour le montant en dollars, et l'autre pour les cents.....
Bonne journée
Denys
ou bien plus simplement,
Private Sub TextBox1_AfterUpdate() TextBox1 = Format(TextBox1, "0.00") End Sub
isabelle
Bonjour à tous,
Je reformule un peu une question que j'avais posée et dont je n'ai pas obtenu de réponse....
Je voudrais limiter l'usager à un maximun de 2 décimales dans un textbox. Alors, est-il possible de dire à Excel que si l'usager inscrit . alors le nombre maximum de caractères qu'il pourra inscrire par la suite sera de 2....