Bonjour,

je suis un programmeur junior en VBA. Après avoir développé ma dernière macro , je me suis heurté à une erreur de type "out of memory". après quelques recherches je me suis rendu compte que le problème venait du faite que ma macro consommait trop de ressource mémoire.
J'ai donc décidé d'essayer de gérer de façon optimal la mémoire. cependant je me pose des questions dont je n'ai trouvé les réponses nulle part sur le web.

Comment libérer veritablement la mémoire?
En fait j'ai ouvert le task manager windows pour savoir la mémoire consommé par excel lorsque je lance ma macro.
au départ dès le lancement de la macro he passait de 162.000 K à à envirion 803.000 K .
Après avoir mis les pointeur d'objet à nothing , éviter les variable public et erase les tableaux je suis plutôt passé de 162.000K à 600.000 K.
jusque là pas de problème.

Mais ma question est pourquoi après que la macro ait finit de tourner le private working set reste toujours figé à 600.000K? normalement la macro ayant finit de tourné tout l'espace utilisé devrait être libéré. donc le working set devrait retomber à 162.000K .

Aussi quand j'exécute la macro step by step , je remarque dès que je passe des argument à une fonction la mémoire utilisé augmente, les variables transmises étant déjà existante et vu que ils sont transmis byref, il ne devrait pas avoir une nouvelle mémoire consommée. comment cela est il possible?

Pourquoi même après avoir fermer le classeur la private working set reste toujours figé à 600.000K ? ça devrait baisser normalement

enfin , c'est quoi la limite de mémoire RAM q'une macro peut utilisée?

Merci pour vos réponse. j'espère avoir été clair