VBA EXCEL - choisir un checkbox

Résolu/Fermé
geraldao Messages postés 9 Date d'inscription lundi 4 février 2008 Statut Membre Dernière intervention 16 février 2008 - 8 févr. 2008 à 21:27
geraldao Messages postés 9 Date d'inscription lundi 4 février 2008 Statut Membre Dernière intervention 16 février 2008 - 10 févr. 2008 à 22:03
Bonjour, à tous, voila j'ai sur un formulaire plusieurs checkbox (20 au total) et je souhaiterais que ma variable ( VRB) soit incrémentée du "caption" du checkbox qui a été coché !!!!

Est ce bien clair ???? pour moi oui mais ......

Merci a vous.

5 réponses

Bonsoir,

En effet, c'est pas bien clair.
Tu peux toujours essayer ce code:

Option Explicit
Public vrb As String

Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then
vrb = CheckBox1.Caption
MsgBox vrb
End If
End Sub

Il faudra recopier cette procédure pour chaque CheckBox et remplacer l'appel à Msgbox par ta procédure qui va exploiter la variable vrb.
0
Exactement ce que je fais mais a vrai dire je cherche à ne pas recopier la meme formule 50 fois, pensant qu'il existait une formule "générique" permettant de simplifier !!!

Enfin tant pis !! je copie ...

Merci a toi amigo.
0
une formule generique du style => if chekbox1 or checkbox2 then vrb = active.checkbox.caption !!!!

;-)
0
Bonjour,

En fait, il faut savoir su tu veux gérer l'évènement au moment ou on clic sur la checkbox ou bien si tu veux recuperer les valeurs de toutes les checkbox une fois que tous les choix ont été fait.
Si tu veux gérer l'évènement click , il faut une procédue pour chaque checkox.
Si tu veux savoir quelles checkbox ont été marquées, une seule procedure activée par un bouton suffit.
ça dépend de l'utilisation que tu veux en faire.

Salut geraldao.
0
geraldao Messages postés 9 Date d'inscription lundi 4 février 2008 Statut Membre Dernière intervention 16 février 2008 > amigo
10 févr. 2008 à 18:05
re, en fait un formulaire s'ouvre est plusieurs actions sont a menées dessus et je gere toutes les infos à la fin donc oui une seule procédure...
Peux tu me montrer a quoi cela ressemble ?
Merci
0
Bonjour,

Sur la userform , tu place un commandButton "OK" par exemple, qui va fermer la userform et va tester les checkbox une à une.
Ca peut ressembler à ça si un seul choix declenche une ou plusieurs actions:

sub CommandButton1_click()

userform1.hide 'on ferme le formulaire

If checkbox1.value=true then
'instrunctions
'.
Else
'.
End if

If checkbox2.value=true then
'instrunctions
Else
'.
End if

'et ainsi de suite
End sub

Maintenant s'il y a beaucoup de checkbox et si la combinaison de plusieurs checkbox est possible, ç'est un peu plus compliqué.
Dans ces cas là, j'utilise la technique des drapeaux (flags pour les informaticiens). C'est un nombre vu en format binaire ("10010" par exemple) qui prend une certaine valeur en fonction du positionnement des bits ( 1 ou 0) et donc déclencher telle ou telle opération.

Il y a plus simple si les combinaisons possibles sont limitées avec des If Then Else End If imbriqués ou avec le sélectionneur Select Case End Select.

Ammuse toi bien.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
geraldao Messages postés 9 Date d'inscription lundi 4 février 2008 Statut Membre Dernière intervention 16 février 2008
10 févr. 2008 à 22:03
OK merci pour tout !!
0