XL 2019 Format Monétaire dans l'Userform

Dofing

XLDnaute Junior
Bonjour à Tous et à Toute,

Je sollicite de l'assistance de la communauté Excel Dowloads pour le perfectionnement de mon fichier excel en macros.

Il s'agit en effet de:
- de mettre au format numérique tous les données saisie dans Textbox1 (Rue) et Textbox2 (Porte)
- et de mettre au format monétaire avec comme monnaie "CFA" avec séparateur de millier dans Textbox3 (mensualité)

Cordialement
 

Pièces jointes

  • Gestion Locative Particulier Bis.xlsm
    783.5 KB · Affichages: 16

patricktoulon

XLDnaute Barbatruc
Bonjour

exemple
VB:
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    With TextBox1
        X = Replace(.Value, " CFA", "")
        Select Case KeyCode
        Case 96 To 105
            'If X <> "" Then If Len(Replace(X, Val(Int(X)), "")) >= 3 Then KeyCode = 0: Exit Sub
            X = X & Chr(KeyCode + IIf(KeyCode < 96, 32, -48))
        Case 110, 188: If Not X Like "*,*" Then X = X & ","
        Case 8: X = Left(X, Len(X) - IIf(X <> "", 1, 0))
        Case 46: X = Left(X, .SelStart)
        Case Else: KeyCode = 0
        End Select
        .Value = X
        If .Value <> "" Then .Value = .Value & " CFA"
        .SelStart = Len(X)
    End With
    KeyCode = 0
End Sub

en débloquant la ligne en commentaire tu limite a deux decimales ;)
 
Dernière édition:

Dofing

XLDnaute Junior
Bonjour

exemple
VB:
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    With TextBox1
        X = Replace(.Value, " CFA", "")
        Select Case KeyCode
        Case 96 To 105
            'If X <> "" Then If Len(Replace(X, Val(Int(X)), "")) >= 3 Then KeyCode = 0: Exit Sub
            X = X & Chr(KeyCode + IIf(KeyCode < 96, 32, -48))
        Case 110, 188: If Not X Like "*,*" Then X = X & ","
        Case 8: X = Left(X, Len(X) - IIf(X <> "", 1, 0))
        Case 46: X = Left(X, .SelStart)
        Case Else: KeyCode = 0
        End Select
        .Value = X
        If .Value <> "" Then .Value = .Value & " CFA"
        .SelStart = Len(X)
    End With
    KeyCode = 0
End Sub

en débloquant la ligne en commentaire tu limite a deux decimales ;)
Bonjour,

J'ai testé les deux (02) codes du haut mais ça ne fonctionne pas
Dans l'userform Mensualité on ne peut pas renseigné plus d'un chiffre.
 

Discussions similaires