Bonjour,
Dans un UserForm, j'ai un multipages qui contient 8 pages, dans chacune des page, j'ai plusieurs OptionButton sur lesquel je fais une boucle.
Mon problème est que quand j'ai un OptionButton dans la page1 qui est True, ce dernier reste True même quand je vais à la page 7 par exemple et que je met und des optionButton de la page 7 à True. Donc quand j'effectue ma boucle sur les OptioButton, je tombe toujours sur le premier qui est resté à True.
J'ai trouvé une solution qui met tous les otionButton à False à la fin de la boucle, mais je perd toujours celle qui était à true avant la fin de la macro!.
Donc j'aimerais boucler sur les optionButton de la page que je vois seulement.
Commment on fait pour boucler seulement sur la page visible du Multipages ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 Private Sub CommandButton1_Click() Dim Ctrl As Control 'Boucle sur tous les contrôles For Each Ctrl In Me.Controls 'Vérifie qu'il s'agit d'un OptionButton If TypeOf Ctrl Is MSForms.OptionButton Then 'Véfifie si l'OptionButton fait partie d'un groupe nommé "GR1" If Ctrl.GroupName = "GR1" Then 'Affiche le Caption de l'optionButton qui a la valeur True If Ctrl.Value = True Then MsgBox Ctrl.Caption 'Sort de la boucle (Il ne peut y a voir qu'une 'réponse à True) Exit For End If End If End If Next End Sub If Ctrl.GroupName = "GR1" Then If Ctrl.Value = True Then Ctrl.Value = False End If End If
Partager