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

pickatshou

XLDnaute Nouveau
:confused::confused::confused::confused::confused::confused::confused:

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 :mad::mad: touche espace :mad::mad: qui echape a toutes instruction que j'ai fait jusqu'a maintenant ou que j'ai trouver dans le net merci.:)


:confused::confused::confused::confused::confused::confused::confused:


-----------------------
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

Statistiques des forums

Discussions
312 305
Messages
2 087 090
Membres
103 464
dernier inscrit
Inconnu2