Forum > Visual Basic 6
Clarté ! C'est pas évident !
CheckBox and OptionButton controls ? returns or sets the state of the control.
.....
....
OptionButton control ? True indicates the button is selected; False (default) indicates the button isn't selected.
y a pas d'erreur puisque c'est reconnu
ce qui veut dire que tu ne travailles pas en option explicit
Non, parce qu'en principe, y a pas à la faire puisque c'est un objet ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionQue veux-tu que je te dises ?
Je te répète que ton code marche parfaitement
Private Sub OptTrancheAge_Click(Index As Integer) For I = 0 To 2 If OptTrancheAge(I).Value Then cmdEnregistrer.Enabled = True End If Next I End Sub
Je ne connais pas cette propriété (Checked) pour un optionbutton sous VB6 !
Sous VB6, Checked est une propriété d'une "check Mark" dans un menu ! Rien à voir avec les optionbuttons.
Cela te dérangerait-il de regarder dans ton aide VB6 les propriétés d'un OptionButton ? (car ta question est là plus que rudimentaire, hein ...) . L'une de ces propriétés est celle qui te convient et elle est exposée avec la plus grande clarté !
je serrais curieux de savoir ce qui, là-dedans, n'est pas évident pour toi !Comme tu dis, ton aide est en anglais, moi je l'ai en français et pour moi c'est mieux, mais un exemple aurait été plus explicite pour moi (en principe), mais y avait rien !
Et c'est bien la propriété Value, hein !C'est exact et je me suis servi de ça.
ce qui veut dire que tu ne travailles pas en option explicitNon, parce qu'en principe, y a pas à la faire puisque c'est un objet ?
Voilà ce qui arrive lorsque l'on veut brûler les étapes ! on se brûle, certes, mais les ailes !Ouai ! T'as parfaitement raison ! Mais comme mon prog est pratiquement terminé, il n'y avait que ça à rajouté et j'ai peut-être voulu aller trop vite !
Private Sub OptTrancheAge_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) For I = 0 To 2 If OptTrancheAge(I).Value = True Then cmdEnregistrer.Enabled = False Else cmdEnregistrer.Enabled = True End If Next I End SubPas moyen de lancer l'appli, j'ai cette erreur :
Private Sub OptTrancheAge_Click(Index As Integer) For I = 0 To 2 If OptTrancheAge(I).Value = True Then cmdEnregistrer.Enabled = False Else cmdEnregistrer.Enabled = True End If Next I End Sub
Public I As Integer
tu as bien (sous VB6, donc) un groupe d'optionbuttons nommé OptTrancheAge et que les index 0, 1 et 2 existent bien dans ce groupe indexé.
- cmdEnregistrer est un contrôle existant sur ton Form et doté de la propriété Enabled
Voilà voilà !
For I = 0 To 2 ' donc tu examines successivement chaque optionbutton (d'index 0, pui 1, puis 2
If OptTrancheAge(I).Value = True Then
' et comme le 2 sera le dernier à "parler", c'est lui qui l'emportera
' et ton bouton ne sera donc habilité que si le optionbutton(2) est à true
' et inhibé dans tous les autres cas, bien évidemment
cmdEnregistrer.Enabled = False
Else
cmdEnregistrer.Enabled = True
End If
Next I
Private Sub OptTrancheAge_Click(Index As Integer) MsgBox "optionbutton(" & Index & ") est à " & OptTrancheAge(Index).Value For I = 0 To 2 MsgBox "optionbutton(" & I & ") est à " & OptTrancheAge(I).Value If OptTrancheAge(I).Value = True Then cmdEnregistrer.Enabled = False Else cmdEnregistrer.Enabled = True End If Next I End Sub
Private Sub OptTrancheAge_Click(Index As Integer) If OptTrancheAge(2).Value Then cmdEnregistrer.Enabled = True End If End Sub
Gné ???!!!
Tu en es exactement au même point, ami (celui de ta propre pensée) !
Private Sub OptTrancheAge_Click(Index As Integer) For I = 0 To 2 If OptTrancheAge(I).Value Then cmdEnregistrer.Enabled = True End If Next I End Sub Je sais pas si la syntaxe est juste, toujours est-il que ça marche de cette manière !
Je sais pas si la syntaxe est juste, toujours est-il que ça marche de cette manière !Rhoooo !
Il faut que je précise qu'une fois un OptionButton validé, les autres sont "Disabled"
Private Sub Form_Activate() cmdEnregistrer.Enabled = False For i = 0 To 2 OptTrancheAge(i).Value = cmdEnregistrer.Enabled Next End Sub Private Sub OptTrancheAge_Click(Index As Integer) For i = 0 To 2 If OptTrancheAge(i) = True Then cmdEnregistrer.Enabled = True: Exit For End If Next i End Sub