J'ai reçu ce message d'erreur -Procedure too large
- dans VBA. Quelle est la raison et le moyen de sortir de cette erreur?
Vous avez probablement une ou plusieurs procédures/fonctions gigantesques et je pense que VBA a une limite de 64 Ko ou quelque chose par procédure.
Vous corrigez le problème en divisant cette procédure en plusieurs procédures pouvant être appelées par la même procédure.
Donc au lieu d'avoir:
Sub GiantProcedure()
... ' lots and lots of code
End Sub
Vous auriez quelque chose comme:
Sub GiantProcedure()
... ' a little bit of common code
Proc1()
Proc2()
Proc3()
End Sub
Sub Proc1()
... ' quite a bit of code
End Sub
Sub Proc2()
... ' quite a bit of code
End Sub
Sub Proc3()
... ' quite a bit of code
End Sub
Votre procédure compiled ne peut pas dépasser 64 Ko. Vous devriez le diviser en différentes sous-routines.
Ce message d'erreur peut s'afficher si la macro a été créée à l'aide de la version 64 bits d'Office. Voir l'article suivant pour plus de détails et une solution de contournement:
L'idée de GiantProcedure ne fonctionnait pas pour moi avec Microsoft PowerPoint 2013. J'ai ensuite ajouté un "appel" avant chaque "proc". Comme ça:
Sub GiantProcedure()
Call Proc1()
Call Proc2()
Call Proc3()
End Sub
Maintenant ça marche.