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