Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 5 sur 5
  1. #1
    Membre actif
    Inscrit en
    juin 2006
    Messages
    562
    Détails du profil
    Informations forums :
    Inscription : juin 2006
    Messages : 562
    Points : 183
    Points
    183

    Par défaut VBA Excel , récuperer la valeur des options buttons

    bonjour
    j'ai un petit userform, et dedans j'ai une question : aimez vous le metal?
    avec 2 option button qui son oui et non.

    j'ai ce code qui fonctionne, mais je souhaiterai savoir si on est obliger de faire une boucle ou bien si il y a une fonction qui renvoi directement l'option sélectionner?

    Code :
    1
    2
    3
    4
     
    For Each q In Commande.musique.Controls
    If q.Value = True Then toq = q.Caption
    Next q
    merci d'avance

  2. #2
    Futur Membre du Club
    Inscrit en
    novembre 2005
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : novembre 2005
    Messages : 18
    Points : 15
    Points
    15

    Par défaut

    Salut Morgan,

    ton code fonctionne dans ce cas mais attantion il va vite dérapper si t'introduit 1 nouveau contrôle qui'il soit 1 option button ou même 1 bouton de commande... Tu vois pourquoi car ton code d'applique à tous les contrôles de l'usf !!

    Voici comment tu peux tester le bouton d'option sélectioné:
    Code :
    1
    2
    If optionbutton1 Then
    
    toq=otptionbutton.caption
    End If
    tu peux utiliser une boucle sur les options buttons s'il y'en a plusieurs:
    For i=1 to n
    If optionbutton & i Then
    toq=otptionbutton.caption
    End If
    Next i

    Ciao

  3. #3
    Futur Membre du Club
    Inscrit en
    novembre 2005
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : novembre 2005
    Messages : 18
    Points : 15
    Points
    15

    Par défaut

    re, je me suis 1 peu melé les pédales sur le dernier exemple (plusieurs (>3) bouton d'option sur le userform) entre VBA et VB (en travaillant coe si c'était 1 groupe de contrôle).
    Voici le bon exemple :

    Code :
    1
    2
    3
    4
    5
    For each cr in Userform1.controls
          if left(cr.name,6) = "OptionButton" then
                toq=Userform1.controls(cr.name).text
          end if
    next
    Si ton usf n'a que 2 bouton d'option,
    Code :
    1
    2
    If optionbutton1 Then
    
    toq=otptionbutton.caption
    End If
    Ciao, j'espère t'avoir aidé

  4. #4
    Membre actif
    Inscrit en
    juin 2006
    Messages
    562
    Détails du profil
    Informations forums :
    Inscription : juin 2006
    Messages : 562
    Points : 183
    Points
    183

    Par défaut

    j'ai modifier un peu ton code car il ne marché pas chez moi

    Code :
    1
    2
    3
    4
    5
    6
     
    For Each cr In musique.Controls
          If Left(cr.Value, 6) = True Then
               toq = musique.Controls(cr.Name).Caption
          End If
    Next

  5. #5
    Inactif Avatar de jmfmarques
    Inscrit en
    décembre 2005
    Messages
    3 784
    Détails du profil
    Informations forums :
    Inscription : décembre 2005
    Messages : 3 784
    Points : 4 140
    Points
    4 140

    Par défaut

    solution idiote et efficace:

    mettre dans une variable (en private) le nom de l'optionbutton cliqué et tester cette variable...

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •