Selection résultat d'un optionbutton parmi d'autres...

Signaler
-
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
-
Bonjour à tous,
J'ai une frame, qui contient 9 optionbutton collées, donc je ne peux choisir qu'une optionbutton parmi les 9, ensuite je clique sur le bouton fermer que j'ai creer et je suis de retour sous word. De la j'aimerais trouver le code VB VBA qui me permettent de recuperer la valeur de l'optionbutton cocher. En effet l'optionutton1 veut dire que l'on veut afficher "bonjour", le 2 que l'on veut afficher "aurevoir" etc, Donc au départ j'avais pensé à des SI imbriquer, mais ca me fait 9 SI les uns a la suite des autres c'est assez lourd, si optionbutton1 true then textbox1.caption "bonjour" else if, blablabla...
N'y à t'il pas une autre solution plus pratique, genre un select, mais je ne sais pas me servir des enabled ou checked des optionbutton...!

Merci d'avance

ps: les SI marcherait, mais j'ai 3 frames qui contiennent 9 optionbuttons ca ferait 3*9 séries de SI...!!!

15 réponses

Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
Bonjour,

Pour chaque OptionButton sauvegarde le texte à affiicher
dans sa propriété Tag
OptionButton(1).Tag="Bonjour..."
OptionButton(2).Tag="Bonsoir..."
OptionButton(3).Tag="Au revoir..."
Etc...

Fais en sorte que tes OptionButton soient en collection,
pour n' avoir qu' une seule Sub pour chaque événement.

Dans...
Sub OptionButton_Click(Index as Integer)
  MonTextBox.Text=OptionButton(Index).Tag
End Sub

Et pas la peine de tester si c' est True, quand tu cliques
sur une option sa valeur est automatiquement True.

chaibat

une collection...?
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
Reprenons :
J' ai une Frame
Je place  OptionButton1 sur ma Frame
Je cliques sur OptionButton1 avec le bouton
 Droit et je fais Copier.
 Je cliques ensuite  sur ma Frame avec le bouton
 Droit et je fais Coller.
Un message m' avertira que OptionButton1 existe déjà
Voulez-vous créer un groupe de controls ?
Je répond Oui.
A partir de là j' aurais deux OptionButton :
L' un s' appellera OptionButton1(0)
et l' autre OptionButton1(1)
En faisant un autre Coller, j' aurais un troisième
qui s' appellera OptionButton1(2).

Ainsi de suite.
J' ai alors une Collection OptionButton1.

Mhmm, oki, c'est comme ca, par contre, j'ai bien fais ca, control+C et control+V pour copier/coller parceque j'avais 9 optionbutton donc j'allais pas m'amuser, ben il ne m'a pas demandé si je voulais créer un groupe de controle...!
Au pire je verrais ca demain au travail, merci ^^
Messages postés
630
Date d'inscription
vendredi 5 mai 2006
Statut
Membre
Dernière intervention
17 février 2007

Salut, à ma connaissance, on ne peut pas créer de groupes de contrôles en VBA.
Je crains que le test par des if elseif ... ne soit incontournable.
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Salut,

pas forcément, tu peux gérer par le Tag des OptionButton, par contre, vu la question posée plus tard dans le forum, ça risque d'être compromis.

Au cas où, regarde ma source sur le groupe de contrôle Label (à modifier pour tes OptionsButtons) :

http://www.vbfrance.com/codes/EVENEMENT-MOUSEMOVE-SUR-SELECTION-CONTROLES-MEME-TYPE_37169.aspx

@++
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
Bonsoir Mortalino,

Malheureusement pour notre ami, même le Tag n' éxiste pas en VBA.
Tout est contre lui !
Par contre, et pour éviter les If et les ElseIf, il peut à chaque énénement Click
sur une OptionButton, affecter une "chaine" soit directement à TextBox soit en
passant par une variable.
C' est vrai qu' il aura autant de Procédures Click que d' optionButton, mais c' est
comme ça avec VBA.Pas de groupe de controles, pas d' Index, pas de Tag...
et que sais-je encore ...




chaibat
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Salut Chaibat,

pas de Tag en VBA ???
Tu as quelle version ?
J'ai office 2003, et j'ai bien la propriété Tag.

Ma source (mis en exemple) gère l'évènement MouseMove (placée dans une class), qui est utilisée (dans l'exemple) par des Labels, ayant du texte dans la propriété Tag.

En cas vérifie chez toi, mais je pense qu'office 2000 la possédait déjà.

@++





<hr width="100%" size="2" />

  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
Hé Mortalino !
Comment ça va ?
Ou etais- tu passer ces temps-ci ?

Pour le Tag, je parlais des OptionButton.
J' ai Office 2003,et il n' y a pas de Tag ni pour
OptionButon ni pour TextBox.

Vérifies si je ne me trompe pas.

chaibat
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
je viens de revérifier, même les labels ....!
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Salut Chaibat,

j'avais pas mal de choses à faire, et je prépare ma semaine de vacances
Et toi, ça a ?


Bon, tu imagines que si je poste, j'ai vérifié avant !

Essaie ceci :

Insère un UserForm, place ce code et appuie sur Ctrl+G (fenêtre débug) :

Private Sub UserForm_Initialize()
    ' *** place un OptionButton sur un UserForm
    
    Me.OptionButton1.Tag = "Salut"
    
    Debug.Print Me.OptionButton1.Tag
    Unload Me
    
End Sub

Alors ?

@++





<hr width="100%" size="2" />

  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
des vacances ?
l' heureux veinard !


pour la vérification, je ne doute pas de ta parole.
Moi je me contente de placer un Label sur une feuille,
et j' affiche sa page de propriété.
Et là il n' y a pas de Tag.


Je vérifirais ta méthode plus tard.
Mais je suis sûr que tu as raison.


A propos de VBA, j' espère que tu sera là demain.
J' aurais besoin d' aide sur un problème de copie
d' un Classeur vers un autre via VB.


Elle est assez délicate comme question.
Le temps de la concocter pour vous, et je la posterais.


A+


 
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Bizarre le coup du Label, je viens d'insérer tous les contrôles par défaut, ainsi que le RefEdit et le DTPicker, et ils ont tous la propriété tag.
C'est peut-être une question d'installation. Perso, quand j'installe Office, tous ce qui vient d'excel, j'installe tout.

Pour ta question, on a essayer et ce sera volontier 
Bon courage pour la rédaction de ta question

@++

<hr width="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
...

Bizarre, Bizarre, vous avez dit Bizarre..?
C' était Jean Gabin je crois qui disait ça !

A demain alors
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
49
salut,
excel 2000, j'ai bien un tag pour label et optionbutton (posés sur un userform)

++
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp