OVH Cloud OVH Cloud

optionbutton

5 réponses
Avatar
Bruno
Bonjour à tous

Sur un Frame, je dispose 8 optionbutton.
Je souhaiterais avec une boucle for...next vérifier lequel est coché
Quelque chose comme ceci
for I = 1 to 8
if optionbutton(I) = true then exit for
next
Je rame lamentablement sur ce problème...
Merci d'avance pour votre aide et /vos idées...
A+++
Bruno

5 réponses

Avatar
Hervé
Salut Bruno,
Indexe les :
Private Sub Form_Click()
Dim I As Integer
For I = 0 To Me.Option.Count - 1
If Me.Option(I) Then
MsgBox Me.Option(I).Index
Exit For
End If
Next I
End Sub

Hervé.

"Bruno" a écrit dans le message news:
414728f3$0$26327$
Bonjour à tous

Sur un Frame, je dispose 8 optionbutton.
Je souhaiterais avec une boucle for...next vérifier lequel est coché
Quelque chose comme ceci
for I = 1 to 8
if optionbutton(I) = true then exit for
next
Je rame lamentablement sur ce problème...
Merci d'avance pour votre aide et /vos idées...
A+++
Bruno




Avatar
Hervé
Oups,
pas fait gaffe, Frame au lieu de ME.
Désolé.
Hervé.
PS : j'ai vus que tu as posté sur Excel, attention, Dans VBA ils ne sont pas
indexés !
Essai pltôt ceci :

Private Sub UserForm_Click()
Dim I As Integer
For I = 0 To Me.Controls.Count - 1
If TypeName(Me.Controls(I)) = "OptionButton" Then
If Me.Controls(I).Value = True Then
MsgBox I
Exit For
End If
End If
Next I
End Sub


"Hervé" a écrit dans le message news:
#
Salut Bruno,
Indexe les :
Private Sub Form_Click()
Dim I As Integer
For I = 0 To Me.Option.Count - 1
If Me.Option(I) Then
MsgBox Me.Option(I).Index
Exit For
End If
Next I
End Sub

Hervé.

"Bruno" a écrit dans le message news:
414728f3$0$26327$
> Bonjour à tous
>
> Sur un Frame, je dispose 8 optionbutton.
> Je souhaiterais avec une boucle for...next vérifier lequel est coché
> Quelque chose comme ceci
> for I = 1 to 8
> if optionbutton(I) = true then exit for
> next
> Je rame lamentablement sur ce problème...
> Merci d'avance pour votre aide et /vos idées...
> A+++
> Bruno
>
>




Avatar
Pascal
Bruno wrote:
Bonjour à tous

Sur un Frame, je dispose 8 optionbutton.
Je souhaiterais avec une boucle for...next vérifier lequel est coché
Quelque chose comme ceci
for I = 1 to 8
if optionbutton(I) = true then exit for
next
Je rame lamentablement sur ce problème...
Merci d'avance pour votre aide et /vos idées...
A+++
Bruno





for .... each?

--
Pascal
Avatar
Zoury
Salut Bruno! :O)

utilise le Tag du Frame pour conservé la sélection, cela t'évitera de
boucler le groupe à chaque fois que tu voudras la récupérer..
Private Sub Option1_Click(Index as Integer)
Frame1.Tag = Index
End Sub

--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
Le français se refait une beauté, parlons en :
http://www.orthographe-recommandee.info/
Avatar
ng
Salut,

Indexe tes controles (proprietés index), si tu ne veux ou peux pas, essaye
ceci :

Private Sub Form_Load()
Dim oCtl As Object
For Each oCtl In Me
If oClt.Container Is Frame1 And TypeOf oCtl Is OptionButton Then
If oCtl.Value Then
'//Code
Else
'//Code
End If
End If
Next
End Sub


--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/


Bruno wrote:
Bonjour à tous

Sur un Frame, je dispose 8 optionbutton.
Je souhaiterais avec une boucle for...next vérifier lequel est coché
Quelque chose comme ceci
for I = 1 to 8
if optionbutton(I) = true then exit for
next
Je rame lamentablement sur ce problème...
Merci d'avance pour votre aide et /vos idées...
A+++
Bruno