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()
Des idées pour m'aider à résoudre ce problème ?
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
Merci d'avance
Partager