Résultat de soustraction de 2 textbox dans un label

Résolu
daysiiie Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -  
daysiiie Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, j'au un UserForm avec des textbox et des labels.
j'ai 2 textbox "Solde" et "Montant_a_regler"
et un Label "Nouveau_solde" dans lequel je voudrais avoir le résultat de l'opération suivante s'affiche:

"Solde" - "Montant_a_regler"

j'ai essayé plusieurs codes glanés ici et là mais pour tous, j'ai toujours le même message d'erreur d'exécution 13 qui s'affiche.

Pouvez-vous m'aider s'il vous plait?
Merci d'avance.





'premier code essayé:

Private Sub calcul_nveau_solde_Click()

Me.Nouveau_solde = CDbl(Me.Solde) + CDbl(Me.Montant_a_regler)

end sub


'second code essayé

Private Sub calcul_nveau_solde_Click()
Dim dtotal As Double
dtotal = 0
If Solde.Text <> "" Then
dtotal = dtotal + CDbl(Solde.Text)
End If
If Montant_a_regler.Text <> "" Then
dtotal = dtotal + CDbl(Montant_a_regler.Text)
End If

Nouveau_solde.Caption = Format(dtotal, "0.00€")

end if


'troisième code essayé

Private Sub calcul_nveau_solde_Click()

Nouveau_solde.Visible = True
Nouveau_solde.Caption = CStr(CDbl(Solde.Text) - CDbl(Montant_a_regler.Text))

end if
A voir également:

1 réponse

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

Votre soucis est lie a votre separateur de decimale, ci-dessous code a ajouter pour saisie numerique textbox avec separateur ",", que vous remplacerez par un point si c'est le cas dans votre excel:

Private Sub Solde_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If InStr("1234567890,-", Chr(KeyAscii)) = 0 Then KeyAscii = 0
End Sub

Private Sub Montant_a_regler_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If InStr("1234567890,-", Chr(KeyAscii)) = 0 Then KeyAscii = 0
End Sub


'Code pour calcul, ous mettrez + ou - car dans vos codes exemples un + et un -, donc ......
Private Sub calcul_nveau_solde_Click()
    Dim dtotal As Double
    
    If Solde <> "" And Montant_a_regler <> "" Then
        dtotal = CDbl(Solde) + CDbl(Montant_a_regler)
    End If
    Nouveau_solde.Caption = Format(dtotal, "0.00€")
End If

1
daysiiie Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
Merci énormément pour votre réponse.
Cependant, j'ai toujours ce message d'erreur d'exécution! je ne sais pas trop d'où cela vient!
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713 > daysiiie Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
Re,

A quelle ligne l'erreur ??
Les nombres decimaux que vous entrez sont avec un point ou une virgule ???
0
daysiiie Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   > f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention  
 
L'erreur se trouve sur cette ligne



dtotal = CDbl(Solde) - CDbl(Montant_a_regler)


et je n'arrive pas à entrer les nombres décimaux avec des points; seuls les virgules passent (les points sont bloqués)

en fait mon userform contient une listbox. en cliquant sur une donnée de cette liste box, les informations apparaissent dans les textbox (dont Solde) et il n'y a que le Textbox Montant_a_regler que je peux modifier.

la valeur donnée dans le Texbox Solde est du style "1080,00€"
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713 > daysiiie Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
Re,

Relisez ce que j'ai ecrit a propos du separateur de decimale f894009 1 déc. 2015 à 13:24
0
daysiiie Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   > f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention  
 
Re-bonjour,
j'ai relu ce que vous avez écrit à propos du séparateur, et j'ai changé le "," par "." mais ça ne marche toujours pas je ne comprends pas!
:(
0