Groupes de boutons d'options dans USERFORM
Bonjour,
J'ai actuellement plusieurs groupes de bouton d'option dans un USERFORM (Disons groupe 1, groupe 2, groupe 3 et groupe 4 comprenant chacun 4 boutons).
Lorsque je clique sur un bouton du groupe 1 puis sur un bouton du groupe 2 le bouton du groupe 1 reste sélectionné.
Je souhaiterai remettre à zéro les 3 autres groupes lorsque j'appuis sur un d'entre eux.
Private Sub OptionButton1_Click()
end SubJe vous remercie par avance.
Cordialement.
Olivier
bonjour,
Organisez vos OptionButton de la manière suivante :
Aux 4 boutons du groupe 1 donner leur la propriété GroupName = Grp1
Aux 4 boutons du groupe 2 donner leur la propriété GroupName = Grp2
Aux 4 boutons du groupe 3 donner leur la propriété GroupName = Grp3
Aux 4 boutons du groupe 4 donner leur la propriété GroupName = Grp4
Ensuite utilisez les macros suivantes :
Sub ResetOb(i$)
Dim Ctrl As Control
For Each Ctrl In Me.Controls
If TypeOf Ctrl Is MSForms.OptionButton And Right(Ctrl.GroupName, 1) <> i Then
Ctrl.Value = False
End If
Next
End Sub
Private Sub OptionButton1_Click()
ResetOb 1
End Sub
Private Sub OptionButton2_Click()
ResetOb 1
End Sub
Private Sub OptionButton3_Click()
ResetOb 1
End Sub
Private Sub OptionButton4_Click()
ResetOb 1
End Sub
Private Sub OptionButton5_Click()
ResetOb 2
End Sub
Private Sub OptionButton6_Click()
ResetOb 2
End Sub
Private Sub OptionButton7_Click()
ResetOb 2
End Sub
Private Sub OptionButton8_Click()
ResetOb 2
End Sub
Private Sub OptionButton9_Click()
ResetOb 3
End Sub
Private Sub OptionButton10_Click()
ResetOb 3
End Sub
Private Sub OptionButton11_Click()
ResetOb 3
End Sub
Private Sub OptionButton12_Click()
ResetOb 3
End Sub
Private Sub OptionButton13_Click()
ResetOb 4
End Sub
Private Sub OptionButton14_Click()
ResetOb 4
End Sub
Private Sub OptionButton15_Click()
ResetOb 4
End Sub
Private Sub OptionButton16_Click()
ResetOb 4
End SubNOTA : On pourrait aussi se contenter de n'utiliser aucun GroupName (et aucune Frame) et dans ce cas, il n'y a rien à faire !
A+
Bonjour…
une de mes spécialités :de faux boutons d’option (4 listes (ListBox) nommées O1, O2 …)
Private Sub O1_Click(): oo 1: End Sub
Private Sub O2_Click(): oo 2: End Sub
Private Sub O3_Click(): oo 3: End Sub
Private Sub O4_Click(): oo 4: End Sub
Sub oo(i As Byte) ‘sous routine
Dim n As Byte
For n = 1 To 4: Me("O" & n).MultiSelect = IIf(n = i, 1, 0): Next
End Sub