"Out of memory" à la création de centaines de fichiers xls

pingouinal

XLDnaute Occasionnel
Bonjour,

Je suis en train de faire une macro qui, selon une liste prédéfinie de clients et une base de données par pays, me générerait un rapport par client.
J'ai réussi à générer un nouveau fichier excel dans lequel je copie les données pour chaque client, à le sauvegarder et à passer au client suivant. Mais au bout d'un moment, la macro plante avec l'erreur "Out of memory" ou "429 - ActiveX component can't create object".
Comme avant de planter, la macro a déjà créé une centaine de rapports, la boucle ne doit pas être fautive.
A priori c'est plutôt la mémoire qui sature car lorsque je vais dans le gestionnaire de tâches, il y a quantité de lignes EXCEL.EXE*32 correspondants apparemment à chaque rapport créé.

Ma question est donc, y a-t-il un moyen dans ma macro de soulager la mémoire du PC (un peu comme un vidage de presse-papier mais pour les EXCEL.EXE*32)?

Je joins les fichiers anonymisés (désolé donc si ils ne sont pas très beaux ^_^) incluant la macro, la liste des clients et les bases de données.

D'avance merci à qui pourra et/ou tentera de m'aider.
 

Pièces jointes

  • New folder.zip
    242.7 KB · Affichages: 26
  • New folder.zip
    242.7 KB · Affichages: 33
  • New folder.zip
    242.7 KB · Affichages: 37

pingouinal

XLDnaute Occasionnel
Re : "Out of memory" à la création de centaines de fichiers xls

Bonjour Bruno,

Tout d'abord merci pour ta réponse et les deux premiers points.
Concernant le troisième, j'ai repris cette partie d'une macro créée par un ancien collègue et l'ai à vrai dire recopiée sans trop savoir quelle partie était indispensable ou non.

Je pourrais donc écrire directement le code suivant?

Set fso = Nothing
fso.Visible = False
fso.Workbooks.Add
Set destWB = fso.ActiveWorkbook
Set destWS = fso.ActiveWorkbook.Worksheets(1)
 

Discussions similaires

Statistiques des forums

Discussions
312 249
Messages
2 086 609
Membres
103 260
dernier inscrit
NHOURRA