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

Utilisateur anonyme - 19 sept. 2006 à 17:50
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 23 sept. 2006 à 13:58
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

chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
19 sept. 2006 à 18:26
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
0
Utilisateur anonyme
19 sept. 2006 à 19:00
une collection...?
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
19 sept. 2006 à 19:13
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.
0
Utilisateur anonyme
19 sept. 2006 à 20:59
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 ^^
0

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

Posez votre question
Dolphin Boy Messages postés 630 Date d'inscription vendredi 5 mai 2006 Statut Membre Dernière intervention 17 février 2007
19 sept. 2006 à 22:47
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.
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
20 sept. 2006 à 07:41
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

@++
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
20 sept. 2006 à 21:49
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
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
20 sept. 2006 à 21:56
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>
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
20 sept. 2006 à 22:05
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
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
20 sept. 2006 à 22:09
je viens de revérifier, même les labels ....!
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
20 sept. 2006 à 22:11
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>
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
20 sept. 2006 à 22:31
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+


 
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
20 sept. 2006 à 22:38
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>
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
20 sept. 2006 à 22:42
...

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

A demain alors
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
23 sept. 2006 à 13:58
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
0
Rejoignez-nous