Case a cocher pour option dans userform

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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

Dernière modification par un modérateur:
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à).
À +
 
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
 
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à).
À +
 
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
À +
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

A
Réponses
44
Affichages
3 K
AlexandrB
A
Réponses
7
Affichages
1 K
F
Réponses
5
Affichages
2 K
Faranor
F
Retour