VBA EXCEL - choisir un checkbox

Résolu
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.
Configuration: Windows Vista
Internet Explorer 7.0

5 réponses

  1. 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
    1. 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
      1. une formule generique du style => if chekbox1 or checkbox2 then vrb = active.checkbox.caption !!!!

        ;-)
        0
        1. 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
        2. @amigore, 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
      2. 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
        1. OK merci pour tout !!
          0