Check Box

A

Alex

Guest
Bonjour,

Lorsque je clique sur une check box et que je récupère sa valeur dans une cellule, je voudrai attacher à cette check box une formule de calcul que j'utiliserai par la suite dans une autre cellule.

Merci
 
@

@+Thierry

Guest
Salut Alex,

Avant de commencer, de quel control CheckBox parles-tu ???

1) Sur Un UserForm
2) Sur Une Feuille

Si 2) positif
A°) Checkbox de la barre d'outils "FORMULAIRE"
B°) Checkbox de la barre d'outils "CONTROLE"

...@Suivre...
@+Thierry
 
@

@+Thierry

Guest
Re: CheckBox écrivant valeur Boolean dans formule

Re Alex, le Forum

J'ai fait une mini démo ci-joint, mais finalement je me demande si c'est en fait ceci que tu veux faire...

En fait, je fais écrire la formule dans la cellule par le UserForm lui même. Pour avoir une Formule incluant une condition Boolean, j'ai pris un bon vieux VlookUp (RechercheV)...

Dis moi si je suis à coté de la plaque !! lol

Bon Appétit à tout le monde
@+Thierry
 

Pièces jointes

  • USF-Valeur-CheckBox-dans-formule.zip
    12.8 KB · Affichages: 286
A

Alex

Guest
Merci pour ta démo Thierry,

cependant, je ne l'ai pas trop comprise.
Je te reexplique:

j'ai créé un userform avec plusieurs checkbox. Lorsque je clique sur l'un d'eux, je récupère sa valeur dans une cellule (clique sur "choix1", récupère "choix1" dans A1). je voudrais que pour chaque checkbox, ily ait une formule associée.
Par exemple: je clique sur "choix1", "choix1"apparait dans la cellule A1.
Dans la cellule A2, il y a alors une formule de type"cellule*cellule" associée à "choix1".

j'essaie d'être le plus précis mais c'est pas évident, je débute sur VBA!
Merci pour ton aide,

A+,
Alex
 
A

Alex

Guest
re thierry, forum,

j'ai réussi à trouver quelque chose me satisfaisant. C'est du type:

If CheckBox1.Value = True Then
Range("A1").Value = CheckBox1.Caption
Else
Range("A1").Value = ""
End If

If CheckBox1.Value = True Then
ActiveSheet.Cells(1, 2).Formula = "=d1+d2+d3+d4+d5"
Else
ActiveSheet.Cells(1, 2).Formula = "0"
End If

cependant, c'est là qu'un problème surgit.Je parviens à supprimer les cellules vides(je sélectionne le checkbox1 et 3, la ligne 2 est vide, je la supprime).

Préalablement, j'ai défini dans une autre cellule une formule:

A1/A3 qui correspond à Checkbox1/Checkbox3. 0r, si je n'ai pas sélectionné le checkbox2, la ligne 2 est supprimée, et la valeur qui aurait du se trouver dans A3 passe dans A2, rendant caduque ma formule....
ce que je voudrais, c'est attacher ma formule à mon checkbox et non à mon tableau excel.

encore merci pour votre aide (mention spéciale pour Thierry),

Alex
 
@

@+Thierry

Guest
=> DEMO USERFORM => Jouer avec les CheckBox !!!!!!!!!!

Re Salut Alex, Hello le Forum

==========> NOTA =====================================
j'avais commencé ce post avant le post d'Alex 15:43, je suis au bureau
et je le reprends que maintenant, j'ai préparé une démo assez complète.
Je viens de survoler ton histoire de suppression de lignes...
Mais là c'est une autre histoire sans voir le fichier....et la macro complète(?)
Je laisse le post intégral que j'avais préparé, ainisi que la démo....
Il sera toujours utile !!!!

=====================================================


Pour être clair, un Control CheckBox ActiveX, par défaut ne peut avoir que deux valeurs de type Boolean :
Yes/No, True/False, ou On/Off

(Il peut en avoir une troisième => Null... Mais ne compliquons pas pour le moment !)

D'après ce que je peux comprendre en lisant je clique sur "choix1", "choix1" apparait dans la cellule A1"... C'est que tu utilises ce control par l'évènement "Click" d'une manière inappropriée un peu comme ça :
Private Sub CheckBox1_Click()
Sheets(1).Range("A1") = "choix1"
End Sub

Si cette hypothèse s'avère exacte, en fait tu utilises ce Control comme un simple bouton (avec le click), mais tu ne récupères pas sa vrai valeur comme j'ai fait dans la démo précédente, mais simplement la valeur que le click donne à ta cellule...

Tu peux continuer de cette façon, mais il sera hors de question d'avoir en fin de remplissage de ton UserForm un Bouton de Validation qui récupérera ce que le User à coché ou non....

De plus et ceci est le plus grave, tous les CheckBoxs de ton UserForms peuvent être Cochés ou Non-Cochés (NB On parle de CheckBox et non d'OptionButton !) Donc je pense que tu pars dans un drôle de truc...

Disons que appli "propre" s'appuierait sur la valeur Boolean de chacun des Control CheckBox un peu comme ceci :

Exemple Deux CheckBox, un CommandButton

On laisse le User Cocher les CheckBox, et on analyse ce qui a été coché quand il valide avec le Bouton...

Private Sub CommandButton1_Click()
Dim Choix As String, Msg As String

If CheckBox1 = True and CheckBox2 = False Then Choix = "A"
If CheckBox1 = True and CheckBox2 = False Then Choix = "B"
If CheckBox1 = True And CheckBox2 = True Then Choix = "C"
If CheckBox1 = False And CheckBox2 = False Then Choix = "D"

If Choix = "A" Then Msg = "Choix 1"
If Choix = "B" Then Msg = "Choix 2"
If Choix = "C" Then Msg = "Choix 1 et Choix 2"
if Choix = "D" Then Msg = "Vous n'avez rien choisi !"

MsgBox Msg
End Sub

Bon j'ai fait une démo, plus complète ci-jointe, je pense que tu devrais mieux comprendre, il y a trois exemples :

1) Basic reporte les donnée dans le label
2) Basic reporte le chois sur la feuille + Checking qu'au moins une CheckBox est Cochée..
3)..........Surprise Surprise !!! Hi hi hi

Bonne Soirée
@+Thierry


PS donc essaie de poster ici un exemple de ton fichier pour l'histoire de lignes supprimées car là c'est trop abstrait !!!
 

Pièces jointes

  • USF-Valeur-CheckBox-Generant-formule.zip
    15.2 KB · Affichages: 351
A

Alex

Guest
Salut le forum, Thierry

tout d'abord merci pour ta démo. Je la trouve super!

Je suis très intéressé par l'exemple 3...J'essaie de l'appliquer à mon problème. Pour l'histoire des lignes supprimées, je t'en reparlerai dans un prochain fil.

Encore une fois merci pour ton aide, c'est important pour moi d'autant plus que l'informatique est loin d'être ma spécialité!

A+, Alex
 

Statistiques des forums

Discussions
314 651
Messages
2 111 555
Membres
111 201
dernier inscrit
netcam