XL 2016 Textbox au format euro

MASSJIPE

XLDnaute Impliqué
Bonjour le forum
J'ai cherché dans Google j'ai tester différent code mais ça ne fonctionne pas
Donc je saisie dans la Textbox2 des chriffres (prix) qui est transférer dans cellule de la dernière ligne
Merci
VB:
Option Explicit
Dim iRL
Private Sub CommandButton2_Click()
Unload Me
End Sub
Private Sub UserForm_Initialize()
    With Sheets("Liste")
        iRL = .Range("H65000").End(xlUp).Row + 1
       TextBox2 = VBA.Format(TextBox2.Value, " 0.00 €")
    End With

End Sub
Private Sub CommandButton1_Click()
    
    With Sheets("Liste")
        .Range("H" & iRL) = Me.txtQte 'Référence
        .Range("I" & iRL) = Me.TextBox1 'Désignation
        .Range("J" & iRL) = Me.TextBox2 'Prix
        TextBox2 = VBA.Format(TextBox2.Value, " 0.00 €")
     Unload Me

    End With
End Sub

Private Sub TextBox1_AfterUpdate()
TextBox2 = VBA.Format(TextBox2.Value, " 0.00 €")
End Sub
 

ChTi160

XLDnaute Barbatruc
Bonjour
Bonjour le Fil ,le Forum
Personnellement , je ne mets pas en forme dans le TextBox , car si l'on récupére le Contenu du TextBox ce n'est plus une somme mais un Texte car "€" d'affiché dans le TextBox
voir image
Bonne journée
jean marie
 

Pièces jointes

  • Format Euros.PNG
    Format Euros.PNG
    7 KB · Affichages: 20

Chris24

XLDnaute Impliqué
Bonjour Massjipe, piga25,le forum

Tu as deux possibilités, si tu veux le format "€" dans le TextBox ou simplement dans la feuille

dans le TextBox et la feuille

Private Sub TextBox1_AfterUpdate()
TextBox2 = Format(TextBox2, "#,##0.00 €")

et dans CommandButton1_Click
With Sheets("Liste")
.Range("H" & iRL) = Me.txtQte 'Référence
.Range("I" & iRL) = Me.TextBox1 'Désignation
.Range("J" & iRL) = Me.TextBox2 'Prix
Unload Me

End With


uniquement dans la feuille

rien dans TextBox_AfterUpdate()

Private Sub CommandButton1_Click()

With Sheets("Liste")
.Range("H" & iRL) = Me.txtQte 'Référence
.Range("I" & iRL) = Me.TextBox1 'Désignation
.Range("J" & iRL) = Format(Me.TextBox2, "#,##0.00 €")'Prix
Unload Me

End With
End Sub


Cdt
 

youky(BJ)

XLDnaute Barbatruc
Bonjour le fil,
Une autre proposition, pour avoir € il suffit de l'ajouter après . . . .789€
mais je le déconseille à moins d'utiliser différentes devises. Il faudra supprimer le € avant de traduire avec cdbl(textbox1) pour avoir du numéric
Bruno
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'que numéric et 1 seule virgule
If KeyAscii = 46 And Not TextBox1 Like "*,*" Then KeyAscii = 44: Exit Sub
If InStr("0123456789", Chr(KeyAscii)) = 0 Then KeyAscii = 0
End Sub
 

Discussions similaires

Réponses
17
Affichages
327
Réponses
5
Affichages
399

Statistiques des forums

Discussions
312 178
Messages
2 085 984
Membres
103 079
dernier inscrit
sle