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

Statistiques des forums

Discussions
312 084
Messages
2 085 193
Membres
102 810
dernier inscrit
mohammedaminelahbali