D'accord, j'ai 3 modules. Mon premier module est "principal", c'est le module dont j'ai besoin pour appeler l'autre module. Ce que je veux dire, c'est que quand je lance main, je veux que ce soit call/run
l'autre module. Actuellement, lorsque j'appuie sur F5, cela ne se produit pas. Comment puis-je faire cela?
Mon code actuel ressemble à ceci:
Sub main_TRY()
Call Module2
Call Module3
End Sub
Toute aide est grandement appréciée. Je vous remercie.
Réponse:
Sub main_TRY1()
Call Module2.Formating
Call Module3.Data
End Sub
J'ai une construction similaire sur l'un de mes scripts vba, et ça se passe comme ça.
Private Sub CommandButton1_Click()
Call GetData1
End Sub
et dans mon module2, il ressemble à ceci
Sub GetData1()
'my code
Dim IE As Object
Dim dd As Variant
Set IE = GetObject("new:{D5E8041D-920F-45e9-B8FB-B1DEB82C6E5E}")
IE.Visible = False
IE.Navigate "https://www.avanza.se/aktier/om-aktien.html/5247/investor-b"
Application.StatusBar = "Loading, Please wait..."
IEWait IE
Application.StatusBar = "Searching for value. Please wait..."
dd = IE.Document.getElementsByClassName("lastPrice SText bold")(0).innerText
Range("G7").Value = dd
End Sub
Peut-être un peu trop, mais je voulais juste que vous compreniez la structure du code que j'utilise.
Donc, chaque fois que je clique sur le bouton "CommandButton1" Ce code ci-dessus sera exécuté, mais dans votre cas, chaque fois que vous appelez la fonction main_try (), vous devriez, comme indiqué ci-dessus, faire appel aux fonctions des modules, le module lui-même.
J'espère que cela a aidé, meilleures salutations