Résultat de soustraction de 2 textbox dans un label [Résolu/Fermé]

Signaler
Messages postés
5
Date d'inscription
mardi 1 décembre 2015
Statut
Membre
Dernière intervention
2 décembre 2015
-
Messages postés
5
Date d'inscription
mardi 1 décembre 2015
Statut
Membre
Dernière intervention
2 décembre 2015
-
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

1 réponse

Messages postés
15524
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
21 janvier 2021
1 437
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 63550 internautes nous ont dit merci ce mois-ci

Messages postés
5
Date d'inscription
mardi 1 décembre 2015
Statut
Membre
Dernière intervention
2 décembre 2015
>
Messages postés
15524
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
21 janvier 2021

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€"
Messages postés
15524
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
21 janvier 2021
1 437 >
Messages postés
5
Date d'inscription
mardi 1 décembre 2015
Statut
Membre
Dernière intervention
2 décembre 2015

Re,

Relisez ce que j'ai ecrit a propos du separateur de decimale f894009 1 déc. 2015 à 13:24
Messages postés
5
Date d'inscription
mardi 1 décembre 2015
Statut
Membre
Dernière intervention
2 décembre 2015
>
Messages postés
15524
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
21 janvier 2021

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!
:(
Messages postés
15524
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
21 janvier 2021
1 437 >
Messages postés
5
Date d'inscription
mardi 1 décembre 2015
Statut
Membre
Dernière intervention
2 décembre 2015

Bonjour,

Vous pourriez mettre votre fichier a dispo sans donnees sensible

Pour transmettre un fichier,
il faut passer par un site de pièce jointe tel que cjoint.com

Allez sur ce site : https://www.cjoint.com/
Clic sur parcourir,
Cherche ton fichier,
clic sur ouvrir,
Clic sur "Créer le lien cjoint",
Copier le lien,
Revenir ici le coller dans une réponse...
Messages postés
5
Date d'inscription
mardi 1 décembre 2015
Statut
Membre
Dernière intervention
2 décembre 2015
>
Messages postés
15524
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
21 janvier 2021

Héllo!

merci, ça y est ça marche! l'erreur était au niveau des séparateurs effectivement (faute d'inattention...)
Merci énormément pour votre aide!!!!
:)