Bonjour,
Au milieu d'une procédure, j'ai besoin de demander à l'utilisateur sur quel type d'activité il est (il y en 4 possibles) et de continuer la procédure selon la réponse.
J'ai créé un usf (UsfAct) que je lance à l'intérieur d'une procédure
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
Public Sub UsfAct()
'On ne peut cocher qu'un seul bouton du GroupName Gr1
    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
'On récupère le bouton choisit ??
End Sub
Première question suis-je obligée de créer un bouton Ok pour sortir du Usf
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
Private Sub CommandButton1_Click()
Dim Act As String
If ObtGrc = True Then Act = "GRC" 'Range("I1")
If ObtDp = True Then Act = "DP"
If ObtDd = True Then Act = "DD"
If ObtAnc = True Then Act = "Anc/Rev"
Debug.Print Act
Unload Me
End Sub
2ème question comment repartir dans mon code en conservant la valeur de la variable Act ?
3ème où dois-je déclarer cette variable, dans ma procédure principale, dans le USF ou dans le bouton Ok ?

Merci de votre aide