Rapport de message :*
 

Re: transformation d'une valeur d'un TextBox en Euros

Titre du sujet : Re: transformation d'une valeur d'un TextBox en Euros
par myDearFriend! le 18/10/2009 12:26:52

Bonjour Beatbles,

Tu trouveras en pièce jointe peut-être une façon de faire qui te conviendra...

Le module de code du Userform ressemble à ça :
Option Explicit
'---------------------------------------------------------------------------
' Auteur    : Didier FOURGEOT (myDearFriend!)  -  www.mdf-xlpages.com
' Date      : 18/10/2009
'---------------------------------------------------------------------------
Private Sub TextBox1_Enter()
    TextBox1.Text = ValEuros(TextBox1.Text)
End Sub

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    KeyAscii = AutoriseCaract(KeyAscii)
End Sub

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    TextBox1.Text = ValEuros(TextBox1.Text, True)
End Sub

Private Sub TextBox2_Enter()
    TextBox2.Text = ValEuros(TextBox2.Text)
End Sub

Private Sub TextBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    KeyAscii = AutoriseCaract(KeyAscii)
End Sub

Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim V As Currency
     TextBox2.Text = ValEuros(TextBox2.Text, True)
     'Calcul en TextBox3
     V = ValEuros(TextBox1.Text) + ValEuros(TextBox2.Text)
     TextBox3.Text = ValEuros(V, True)
     'Report sur la feuille
     Range("A1") = ValEuros(TextBox1.Text)
     Range("B1") = ValEuros(TextBox2.Text)
     Range("C1") = Range("A1") + Range("B1")
End Sub

Private Function ValEuros(ByVal T As String, Optional E As Boolean) As Variant
    If E Then
        ValEuros = Format(CCur("0" & Trim(T)), "0.00 ?")
    Else
        ValEuros = CCur("0" & Trim(Replace(T, "?", "")))
        If ValEuros = 0 Then ValEuros = ""
    End If
End Function

Private Function AutoriseCaract(ByVal C As Integer) As Integer
    Select Case C
    Case 46         'le point en virgule
        AutoriseCaract = 44
    Case 44, 48 To 57  'les chiffres et la virgule
        AutoriseCaract = C
    End Select
End Function

Private Sub CommandButton1_Click()
    Unload Me
End Sub

Cordialement,

EDITION:
Bonjour Guy
Arf, je n'avais pas vu ton intervention... On est tout à fait d'accord sur le fond cela dit.