Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 VBA affichage nombre décimal (2chiffres après la virgule)

PORCHER

XLDnaute Occasionnel
J'ai un problème avec input box
Il renvoi dans ma TextBox un nombre arrondi ( ex.: je rempli mon inputBox 46, 58 il me renvoi 47)
Private Sub Affpnumajout_Click()
Dim Nbre As Integer
Nbre = Application.InputBox _
(Prompt:="Entrer le nouveau montant.", _
Title:="Nouveau Montant.", Default:="0,00", Type:=1)
If Nbre = False Then Exit Sub
OP_mt_ope = Nbre ' Ma TextBox montant
'Converti la valeur en Franc
Tx_ConvertFrancEuro = CDbl(OP_mt_ope.Value) * 6.55957

'Applique un Format Franc
Tx_ConvertFrancEuro.Value = Format(Tx_ConvertFrancEuro.Value, "#,##0.00"" FRF""")
End Sub
Merci de m'aider
 

Staple1600

XLDnaute Barbatruc
Bonjour à toi aussi PORCHER

(Revoir le point qui parle du bonjour et caetera dans la charte )

Sinon, pas de fichier excel sous le coude?
(histoire de ne pas se fader la re-construction d'un convertisseur euro/franc avec userform , textbox et tutti quanti, qui existe déjà sur ton disque dur )
 

Staple1600

XLDnaute Barbatruc
Re,

PORCHER
Du coup, le temps que tu nous claques la bise , j'ai pris le temps de faire une petit test
(Un userform, deux TextBox, Un CommandButton)
Et roule, ma poule, 46.58 reste 46.58, non ?
VB:
Private Sub CommandButton1_Click()
Nbre = Application.InputBox _
(Prompt:="Entrer le nouveau montant.", _
Title:="Nouveau Montant.", Default:="0,00", Type:=1)
If Nbre = False Then Exit Sub
TextBox1 = Nbre
Frc = Round(Nbre * 6.55957, 2)
TextBox2 = Format(Frc, "#,##0.00"" FRF""")
End Sub
En tout cas, sur mon PC, oui.
 

patricktoulon

XLDnaute Barbatruc
bonsoir
ce qui'il y a de bien avec l'inputbox (de l'application) c'est que le return boolean n'est pas forcement nécessaire dans ce cas précis pour le type 1

en déclararant nbre en double des le départ en en récupérant le cdec de l'input
l’opération est simple
si ca vaut plus que zero on fait sinon on fait pas

VB:
Private Sub CommandButton1_Click()
    Dim nbre As Double
    nbre = CDec(Application.InputBox(Prompt:="Entrer le nouveau montant.", Title:="Nouveau Montant.", Default:="0,00", Type:=1))
    If nbre > 0 Then OP_mt_ope = nbre: Tx_ConvertFrancEuro.Value = Format(CDbl(nbre * 6.55957), "#,##0.00"" FRF""")
End Sub
 
Dernière édition:
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…