Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Comment mettre une condition pour avoir une valeur monétaire dans un TextBox ?

pickatshou

XLDnaute Nouveau


salut
je veux que mon zone de texte accepte que les données numérique monétaire avec deux (2)nombres décimals. et on fait bien attention a la touche espace qui echape a toutes instruction que j'ai fait jusqu'a maintenant ou que j'ai trouver dans le net merci.





-----------------------
Excel 2003
Windows Xp SP2
 

jp14

XLDnaute Barbatruc
Re : Comment mettre une condition pour avoir une valeur monétaire dans un TextBox ?

Bonjour
Salut pierrejean

Ci dessous une macro qui
Transforme le point en virgule
Empêche la saisie de plus de deux chiffres après la virgule
Empêche la saisie d'un caractère non numérique.

Code:
Private Sub textBox1_Change()
    On Error Resume Next
    Dim pos As Integer

    ' on remplace le point par une virgule
    If (Right(TextBox1, 1)) = "." Then TextBox1.Value = Mid(TextBox1.Value, 1, Len(TextBox1.Value) - 1) & ","

    ' on compte le nombre de chiffre après la virgule

    pos = InStr(1, TextBox1.Value, ",")
    If pos > 0 And Len(Mid(TextBox1.Value, pos + 1)) > 2 Then' si > 2 alors on supprime la valeur
        TextBox1 = Left(TextBox1, Len(TextBox1) - 1)
    End If

    ' vérification des valeurs

    If Not IsNumeric(Right(TextBox1, 1)) And Right(TextBox1, 1) <> "," Then
        MsgBox "Le caractere saisi n'est pas valide"
        TextBox1 = Left(TextBox1, Len(TextBox1) - 1)
    End If
End Sub

A tester

JP
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…