Récupérer la valeur d'un groupe d'OptionButton

olivepao

XLDnaute Occasionnel
Bonjour le forum :) :)

Je désire récupérer la valeur d'un groupe de trois OptionButton que j'ai nommé FonctionJob dans le GroupeName des Propriétés.

Bien entendu, chaque OptionButton a un nom différent et ces trois OptionButton sont "isolés" par une frame nommée Cadre3

J'ai besoin de récupérer la valeur car en fonction de cette valeur, je vais inscrire quelque chose de différent dans la cellule de réception

Je bute depuis hier soir, je n'arrive pas à la récupérer.

J'ai essayer de récupérer la valeur en l'affichant dans une Msgbox mais sans succès, tout ce que j'essaye me renvoie une valeur vide ou une erreur de compilation.

Merci de tuyauté si quelqu'un a une idée .

A++
 

RENAUDER

Nous a quitté
Repose en paix
Re : Récupérer la valeur d'un groupe d'OptionButton

Bonjour olivepao et Porcinet,

Un exemple avec le résultat récupèrer lors du clic sur un bouton
Code:
Private Sub CommandButton1_Click()
    If Me.OptionButton1.Value = True Then
        MsgBox "Option 1"
    ElseIf Me.OptionButton2.Value = True Then
        MsgBox "Option 2"
    Else
        MsgBox "Option 3"
    End If
End Sub
Ou alors tu peux récupérer le clic sur l'optionButton (1 dans l'exemple)
Code:
Private Sub OptionButton1_Click()
    MsgBox "Je vais faire une action déclenchée par le clic sur l'OptionButton1"
End Sub
 

olivepao

XLDnaute Occasionnel
Re : Récupérer la valeur d'un groupe d'OptionButton

Hello Porcinet Hello Renauder Hello le forum :)

J'étais partis dans une autre direction. Je pensais que comme dans une feuille, les boutons à option lié par une zone de groupe prenait la valeur 1, 2, 3 etc

Renauder ta soluce est nickel mais elle répond à 99,999999 % de mon attente.

Je désire récupérer la valeur réelle de l'OptionButton qui s'appelle Caption si je ne me trompe pas.

Merci et A++
 

Lii

XLDnaute Impliqué
Re : Récupérer la valeur d'un groupe d'OptionButton

Bonjour,

ou encore
Code:
Private Sub CommandButton1_Click()
  Dim n As Byte
  For n = 1 To 3
    If Me.Controls("OptionButton" & n) Then _
       MsgBox Me.Controls("OptionButton" & n).caption
  Next
End Sub
 

olivepao

XLDnaute Occasionnel
Re : Récupérer la valeur d'un groupe d'OptionButton

Salut Lii, Re le forum :)

Lii ton code me fait une jolie plantée.

Il me renvoie Objet spécifié introuvable -2147024809 (80070057)

Je suppose que cela vient du fait que mes OptionButtons ont un nom différents SaisieASA SaisieAS SaisieSR

Merci A++

Je continue aussi à chercher
 

porcinet82

XLDnaute Barbatruc
Re : Récupérer la valeur d'un groupe d'OptionButton

re,

Effectivement, le code que t'as proposé Lii ne fonctionne que si tes OptionButton sont nommés OptionButton...
Sinon, en reprenant l'idée de Lii, tu peux faire un truc de ce genre :

Code:
[COLOR=black]Private Sub CommandButton1_Click()[/COLOR]
[COLOR=black]    If Me.SaisieASA = True Then MsgBox Me.SaisieASA.caption[/COLOR]
[COLOR=black]    If Me.SaisieAS = True Then MsgBox Me.SaisieAS.caption[/COLOR]
[COLOR=black]    If Me.SaisieSR = True Then MsgBox Me.SaisieSR.caption[/COLOR]
End Sub

@+
 

Lii

XLDnaute Impliqué
Re : Récupérer la valeur d'un groupe d'OptionButton

Re,
Je suppose que cela vient du fait que mes OptionButtons ont un nom différents SaisieASA SaisieAS SaisieSR
Voilà ce qui arrive quand on n'a qu'un bout de code hors contexte.
Effectivement, ma procédure n'est valable qu"avec des noms du genre OptionButton1, ou 2 ou 3.
Avec tes noms, essaie le
Code:
Private Sub CommandButton1_Click()
    If SaisieASA Then MsgBox SaisieASA.Caption
    If SaisieAS Then MsgBox  SaisieAS.Caption
    If SaisieSR Then MsgBox SaisieSR.Caption 
End Sub

Salut porcinet
 
Dernière édition:

olivepao

XLDnaute Occasionnel
Re : Récupérer la valeur d'un groupe d'OptionButton

Hello Porcinet82 Hello Lii Hello le forum :) :) :)

Désolé Lii d'avoir omis cette petite précision.

Porcinet ta soluce fonctionne super et je t'en remercie.

Entretemps, un amis m'a transmis ce code qui fonctionne également

(A adapter en ce qui concerne le nom de la frame)

Code:
Private Sub Valider_Click()
    Dim Ctrl As Control
        For Each Ctrl In Frame1.Controls
        If Ctrl.Object.Value = True Then
            MsgBox Ctrl.Object.Caption
            Exit For
        End If
    Next Ctrl
End Sub

Merci à tous et à bientôt
 

Discussions similaires

Statistiques des forums

Discussions
312 488
Messages
2 088 835
Membres
103 972
dernier inscrit
steeter