Autres Gestion de treize OptionButton dans un Frame1 d'UserForm1

Webperegrino

XLDnaute Impliqué
Supporter XLD
(Excel 2003)

Bonjour le Forum,

Dans un UserForm j’ai placé un Frame1 contenant un premier CommandButton1 à action spécifique et douze autres qui auront la même réaction (CommandButton2 à CommandButton13).

Dans le code VBA j’y ai mis un :
For i= 2 to 13 pour ne pas multiplier cette macro sous forme de « Private Sub OptionButton2_Click() à Private Sub OptionButton13_Click() ».

Voici la codification actuelle qui fonctionne si je clique sur le pourtour du Frame1 :

VB:
Private Sub Frame1_Click()
Dim i As Integer
If Me.Controls("OptionButton1").Value = True Then
  ActiveCell = ""
End If
For i = 2 To 13
  If Me.Controls("OptionButton" & i).Value = True Then
    ActiveCell = Me.ListBox1 & Chr(10) & Me.Controls("OptionButton" & i).Caption
  End If
Next i
Unload Me
End Sub

Le problème est que pour sortir de l’userform il me faut cliquer sur le bord du Frame1.
Je voudrais sortir de l’Userform dès qu’un ctrl.Value passe en True.
Pour cela comment modifier la composition macro ci-dessus pour appliquer le « Unload Me » dès qu’un des OptionButton passe en True ou me faut-il faire 12 fois ceci en changeant le n° du CommandButton, de 2 à 13 -que je voudrais éviter- ?

VB:
Private Sub OptionButton2_Click()
For Each ctrl In UserForm1.Frame1.Controls
  If ctrl.Value = True Then ActiveCell = Me.ListBox1 & Chr(10) & ctrl.Caption
Next
Unload Me
End Sub
et ainsi jusqu'à OptionButton13.

Merci
Webperegrino
 

Webperegrino

XLDnaute Impliqué
Supporter XLD
Le Forum,
Monsieur Boisgontier, bonsoir,
Youpi ! Nous avons une belle solution !
Voici mon adaptation : telle que je la désirais dans son usage.
Mission accomplie, grâce à vous trois, merci.
Bien cordialement,
Webperegrino
 

Pièces jointes

  • ManipulerMesOptionButton_VersionBOISGONTIER.xls
    56 KB · Affichages: 8

Discussions similaires

Réponses
3
Affichages
337
Réponses
3
Affichages
166

Statistiques des forums

Discussions
314 653
Messages
2 111 574
Membres
111 204
dernier inscrit
Petko