Bonjour le Forum,

J'ai vu qu'il est possible d'appeler une fonction depuis une procédure sub, lorsque cette fonction est placée dans un module standard ...
Voici pour exemple mon code :

Partie dans un module standard.
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
Function search(element As String) As Variant
   Dim Ctrl As Control
    'Boucle sur tous les contrôles
    For Each Ctrl In UserForm.Controls 'Me.Controls
        'Vérifie qu'il s'agit d'un OptionButton
       If TypeOf Ctrl Is MSForms.CheckBox Then
           'Véfifie si l'OptionButton fait partie d'un groupe nommé "GR1"
             If Ctrl.GroupName = element Then '"product"
                '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)
                End If
            End If
        End If
    Next
End Function
Ensuite appele de cette fonction depuis une procédure Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Sub appelfunction()
 search("Product")
End Sub
Depuis un userform bouton:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Private Sub CommandButton13_Click()
Call appelfunction
End Sub
Lorsque je lance depuis le userform le résultat de l'erreur se situe dans la fonction elle même (Erreur d'éxécution '424': Objet requis)

Auriez vous une idée ?

Merci,

Chrysto