![]() |
|
Forum
|
|
|
#2 (permalink) |
|
Guest
Messages: n/a
|
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 |
|
|
#4 (permalink) |
|
Guest
Messages: n/a
|
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 |
|
|
#5 (permalink) |
|
Guest
Messages: n/a
|
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 |
|
|
#6 (permalink) |
|
Guest
Messages: n/a
|
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 |
|
|
#7 (permalink) |
|
Guest
Messages: n/a
|
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 !!! |
|
|
#8 (permalink) |
|
Guest
Messages: n/a
|
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 |
| Liens sociaux |
| Outils de la discussion | |
|
|