qui pourrait me creer le code pour que dans mon userform1
Ma "Checkbox1" en haut a gauche dans l'userform1, une fois cocher rajoute automatiquement "11€" dans ma "Textbox13" qui est le total de toutes les texbox au dessus;
et que si on decoche les 11€ se retirent du total.
Private Sub CheckBox1_Change()
Dim n As Integer
n = TextBox13.Value
If CheckBox1.Value = True Then
n = n + 11
End If
If CheckBox1.Value = False Then
n = n - 11
End If
TextBox13 = n & "€"
End Sub
Bonsoir.
À votre place j'écrirais une procédure Public dans l'userform pour calculer la TextBox13
Pourquoi Public ? Pour pouvoir l'exécuter aussi, préfixée du nom du userform et d'un point, depuis la txt_Change() de votre Classe1.
Inutile en effet d'avoir ce code en plusieurs endroits. il n'y aurait qu'à ajouter en fin de somme des TextBox1 à 12:
VB:
If Me.CheckBox1 Then x = x + 11
Et appeler aussi cette procédure depuis une Private Sub CheckBox1_Click() de l'userform (inutile de la préfixer, là).
À +
Private Sub CheckBox1_Change()
Dim n As Integer
n = TextBox13.Value
If CheckBox1.Value = True Then
n = n + 11
End If
If CheckBox1.Value = False Then
n = n - 11
End If
TextBox13 = n & "€"
End Sub
Bonsoir.
À votre place j'écrirais une procédure Public dans l'userform pour calculer la TextBox13
Pourquoi Public ? Pour pouvoir l'exécuter aussi, préfixée du nom du userform et d'un point, depuis la txt_Change() de votre Classe1.
Inutile en effet d'avoir ce code en plusieurs endroits. il n'y aurait qu'à ajouter en fin de somme des TextBox1 à 12:
VB:
If Me.CheckBox1 Then x = x + 11
Et appeler aussi cette procédure depuis une Private Sub CheckBox1_Click() de l'userform (inutile de la préfixer, là).
À +
Private Sub txt_Change()
UserForm1.CalculSomme
End Sub
Et au début de l'userform:
VB:
Option Explicit
Dim Txt(1 To 12) As New Classe1, I As Byte
Private Sub UserForm_Initialize()
For I = 1 To 12: Set Txt(I).Txt = Me.Controls("TextBox" & I): Next I
End Sub
Private Sub CheckBox1_Click()
CalculSomme
End Sub
Public Sub CalculSomme()
Dim X As Double
X = 0
For I = 1 To 12
If Txt(I).Txt.Text <> "" Then X = X + CDbl(Txt(I).Txt.Text)
Next I
If Me.CheckBox1 Then X = X + 11
Me.TextBox13 = Format(X, "0.00 €") 'Replace(Format(X, "0.00 €"), ".", ",")
End Sub