J'essaie d'appeler un sous-ensemble sur une feuille de calcul différente mais j'ai reçu un message d'erreur d'exécution.
Plus précisément, j'ai deux feuilles de calcul et plusieurs sous-systèmes VBA dans ces feuilles de calcul. Dans l'un des projets VBA (disons workbook1.xlsm), j'ai le code suivant :
Sub AnalysisTableMacro()
Workbooks("Python solution macro.xlsm").Activate
Application.Run "Python solution macro.xlsm!.PreparetheTables"
End Sub
Mais j'ai obtenu l'erreur suivante. Les macros des deux feuilles de calcul sont activées. Dans les deux feuilles de calcul, les sous-modules sont dans le module 1.
Impossible d'exécuter la macro 'Workbook.xlsm!PrepareTheTables' ;. Il se peut que la macro ne soit pas disponible dans >ce classeur ou que toutes les macros soient désactivées.
J'ai également essayé Application.Run "Python solution macro.xlsm!Module1.PreparetheTables"
mais cela n'a pas fonctionné.
Selon la [Microsoft's KB] (https://support.microsoft.com/en-us/kb/813969), essayez d'autoriser l'accès programmatique au projet Visual Basic :
Supprimez la macro de votre nom et recommencez. J'ai fait ça, et la macro a fonctionné.
J'ai eu le même problème que l'OP et j'ai trouvé que c'était dû à la déclaration d'options mal orthographiée :
' Comment comment
Options Explicit
Sub someMacroMakechart()
dans un sous-module, au lieu d'être correcte ;
' Comment comment
Option Explicit
Sub someMacroMakechart()