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

calcul automatique sur un userform

famdsm

XLDnaute Junior
bonjour
j'ai quatre textbox sur un userform, dont trois portent des chiffres alors que la quatrieme doit apporter la somme de ces trois.
je veux que une fois l'userform initialize en entrant les chiffres dans les textbox la somme s'effectue dans la quatrieme spantannement. Merci pour votr aide
 

VDAVID

XLDnaute Impliqué
Re : calcul automatique sur un userform

Bonjour Fadsm,

Pas facile de t'aider sans plus de précisions ...
Tu peux essayer dans le code de ton userform:
A condition que la TextBox où se trouve la somme corresponde à la TextBox4

Code:
Private Function Val1() As Currency
Val1 = Replace(TextBox1.Value, ".", ",")
End Function
Private Function Val2() As Currency
Val2 = Replace(TextBox2.Value, ".", ",")
End Function
Private Function Val3() As Currency
Val3 = Replace(TextBox3.Value, ".", ",")
End Function
Private Sub TextBox1_AfterUpdate()
If TextBox1 <> "" And TextBox2 <> "" And TextBox3 <> "" Then
TextBox4.Value = Val1 + Val2 + Val3
GoTo Finish
End If
TextBox4.Value = ""
Finish:
End Sub
Private Sub TextBox2_AfterUpdate()
If TextBox1 <> "" And TextBox2 <> "" And TextBox3 <> "" Then
TextBox4.Value = Val1 + Val2 + Val3
GoTo Finish
End If
TextBox4.Value = ""
Finish:
End Sub

Private Sub TextBox3_AfterUpdate()
If TextBox1 <> "" And TextBox2 <> "" And TextBox3 <> "" Then
TextBox4.Value = Val1 + Val2 + Val3
GoTo Finish
End If
TextBox4.Value = ""
Finish:
End Sub

Private Sub UserForm_Click()
TextBox4.Enabled = False
End Sub
Bonne journée !
 
Dernière édition:

laetitia90

XLDnaute Barbatruc
Re : calcul automatique sur un userform

bonjour famdsm , VDAVID
une facon de l'ecrire on peut utiliser le point ou virgule code brut pas simplifier & optimiser.... attention VAL accepte que le point..
 

Pièces jointes

  • Calcul.xls
    49.5 KB · Affichages: 115
  • Calcul.xls
    49.5 KB · Affichages: 115
  • Calcul.xls
    49.5 KB · Affichages: 113

famdsm

XLDnaute Junior
Re : calcul automatique sur un userform

bonjour laetitia90 , VDAVID
cette façon d'ecriture du nombre decimal accepte la virgule seulement.elle n'accepte pas le point. voir l'exemple de laetitia90. Merci pour votre attention
 

toune21

XLDnaute Impliqué
Re : calcul automatique sur un userform

bonsoir famdsm, laetita90, VDAVID,

Voilà j'ai cette fonction pour le point du pavé numérique.

Private Sub txt_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'If InStr("0123456789.,", Chr(KeyAscii)) = 0 Then KeyAscii = 0
Select Case KeyAscii
Case Is = 46, Is = 44
KeyAscii = Asc(Application.International(xlDecimalSeparator))
Case Is < 48, Is > 57
KeyAscii = 0
End Select
End Sub


Je viens de l'essayer sur ton fichier et ça fonctionne.
Bonne soirée
 

Papou-net

XLDnaute Barbatruc
Re : calcul automatique sur un userform

Bonsoir famdsm, les participants,

Une petite amélioration du code de Laetitia, qui accepte aussi bien le point que la virgule en séparateur décimal. Une ligne ajoutée dans le code du module de classe :

Code:
Private Sub txt_Change()
txt.Value = Replace(txt.Value, ".", ",") ' <--- ligne ajoutée
 x = 0
 For i = 1 To 3
 If (UserForm1.Controls("Textbox" & i)) <> "" Then x = x + CDbl(UserForm1.Controls("Textbox" & i))
 Next
 UserForm1.TextBox4 = x
End Sub
Cordialement à tous,

Bises à Laetitia et à Marie Madeleine.
 

Pièces jointes

  • Calcul 01.xls
    49 KB · Affichages: 132

famdsm

XLDnaute Junior
Re : calcul automatique sur un userform

bonsoir,
j'ai fait mon petit programme sous excel vba mais j'zi rencontrer un petit problème ce mon textbox ne compte la somme des valeur decimal
 

Discussions similaires

Réponses
93
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…