Case a cocher pour option dans userform

BLACKHAYES

XLDnaute Impliqué
Bonsoir le forum,

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.

voila, merci d'avance a vous,

Cordialement,
 

Pièces jointes

  • Calcul C-R2.1(2).xls
    64 KB · Affichages: 58
  • Calcul C-R2.1(2).xls
    64 KB · Affichages: 57
  • Calcul C-R2.1(2).xls
    64 KB · Affichages: 56

gam

XLDnaute Junior
Re : Case a cocher pour option dans userform

Bonsoir
essais ceci :
Code:
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
 

Pièces jointes

  • Calcul C-R2.1(2).xls
    62 KB · Affichages: 77
  • Calcul C-R2.1(2).xls
    62 KB · Affichages: 83
  • Calcul C-R2.1(2).xls
    62 KB · Affichages: 78
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : Case a cocher pour option dans userform

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à).
À +
 

BLACKHAYES

XLDnaute Impliqué
Re : Case a cocher pour option dans userform

Bonsoir gam,

Merci pour votre reponse, c'est exactement ce que je voulais sauf une petitechose si je peux me permettre,

quand je coche en premier ma chekbox1 cela me mets en debogage, il faut qu il y ait au moins une textbox renseignée pour que cela fonctionne;

Or je voudrais que l'on puisse la cocher en premier et que les 11 commence a s'afficher puis le cumul des texbox une fois renseignée.

cordialement


Bonsoir
essais ceci :
Code:
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
 

BLACKHAYES

XLDnaute Impliqué
Re : Case a cocher pour option dans userform

Bonsoir Dranreb,

je suis d'accord, mais je ne suis pas assez fort en vba pour faire cette modif, peut etre pourriez vous me faire un exemple dans l'exemple joint;

Cordialement

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à).
À +
 

Dranreb

XLDnaute Barbatruc
Re : Case a cocher pour option dans userform

Donc dans Classe1:
VB:
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
À +
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 489
Messages
2 088 855
Membres
103 976
dernier inscrit
kaizertv2001@gmailcom