Bonjour à tous,

Débutante en VBA, j'ai un programme qui tourne assez bien mais je souhaietrais l'optimiser et le rentre plus "claire".

Pour cela j'aimerais appeler des modules afin de pourvoir utiliser la même fonction plusieurs fois, mais egalement pour ne pas exécuter mes fonctions les unes après les autres

Plus d'info sur le contexte :

J'ai mon userform qui s'ouvre lorsque je clique sur un bouton. J'ai des combobox, textbox et checkbox dedans et deux boutons validé, annulé.
Lorsque l'on clique sur validé, je récupère les infos dans des variables et lances plusieurs fonctions.
Aucun problème si mes fonctions sont écrites dans mon userform mais si j'ai testé de les écrire dans des modules et impossible de les appeler avec "call".

Version code USERFORM
Fonction Opdaily (WorkCat)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
Sub CommandButton1_Click()
' Get values from the userform
    'CmboxBox1 : Work category
    Dim WorkCat As String
    WorkCat = ComboBox1.Value
 
'Run OpDaily
    OpDaily WorkCat
End Sub

version code module
Nom du module MacroDaily, nom de la fonction Daily()
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
 
Sub CommandButton1_Click()
' Get values from the userform
    'CmboxBox1 : Work category
    Dim WorkCat As String
    WorkCat = ComboBox1.Value
 
'Run Daily
    Call Daily 
    ''Compile error : Sub or Function not defined
    Call MacroDaily
    ''Compile error : Expected variable or procedure, not module
    Call MacroDaily WorkCat
    ''Compile error : Expected : end of state
 
End Sub
Des idées pour m'aider à résoudre ce problème ?

Merci d'avance