Memoire insuffisante !

Thierry37

XLDnaute Junior
Bonjour à Tous,

Voici mon problème : j'ai réalisé un fichier dans lequel il y a 32 onglets :

- 16 pour les graphiques
- 16 pour les tableaux (détails mensuels)

Il y a 65 graphiques au total.

Tout ça, ça fait beaucoup de liens.

Depuis j'ai voulu y ajouter des macros mais j'ai été confronté au message suivant : 'mémoire insufisante'
Déjà ça avait commencé à poser problème pour la création des derniers onglets de graphiques, comme si mon Excel n'en pouvait plus d'ingurgiter des liaisons entre feuilles...
J'ai remplacé les macros par des liens hypertextes pensant alléger le nombre de liens qu'Excel doit gérer mais ça donne pas l'effet recherché.
J'ai juste maintenu la macro qui permet en cliquant sur le graphique de passer au tableau où se trouve toutes les données.
Mais parfois je ne sais pas pourquoi le message d'erreur revient et pante tout !!!
Je suis obligé d'utiliser le gestionnaire de tâche pour tout arrêter !!!
Je pense qu'il s'agit d'un problème de configuration : J'utilise windows 2000 et Excel 97.
Chez moi, XP pro et Excel 2003, ça fonctionne !!!
Quelqu'un peut-il m'aider à comprendre d'où peut venir mon problème ?
Mon fichier est-il mal fichu ?
Y aurait-il un problème d'adresse mémoire ou de gestion des adresses ?
Merci beaucoup pour votre aide.
A+

Thierry

PS : le fichier étant trop volumineux je ne peux le ziper...
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonsoir Thierry, Excalibur

Mon opinion est que la RAM est une solution bien trop souvent considérée comme étant la panacée universelle faute de tous les maux. On peut maintenant monter deux barrettes de 1024 méga chacune sur un PC simplement parcequ'on ne connait pas la gestion des piles mémoires et surtout comment éviter de les saturer.

Le Visual Basic pour Application dans sa facilité d'usage pour des débutants, permet, avec l'enregistreur de macros de faire des petites applications qui peuvent tenir la route pour faciliter une tâche récurseve et récurrente... Mais...

... à partir du moment où l'on surcharge Excel avec 65 Graphs, c'est clair qu'Excel exploite le moindre octet que Windows laissse disponible... Si, par dessus, on ajoute une macro un peu bancale qui va, d'un coup, envoyer une dizaine d'objets Variants dans ce même espace mémoire alloué par Window.... Boum !!!

1st remarque ...
65 Graphs, c'est une sorte d'usine à Gaz prete à exploser, même sans code VB
=> Revoir un peu le Concepte et les Besoins de l'application. De toute manière la maintenance d'un Workbook avec 65 Grah doit être ingérable.

2nd remarque ...
Si il y a du VBA dans l'appli, il faudrait que celui-ci ne servent pas qu'à faire des Tâches d'impression, ou de mise en pages avec quelques copié/collé de plage de cellules... Il faut l'utiliser à fond alors, c'est lui qui va générer à la volée les graph, ou du moins envoyer les données pour limiter cette quantité impressionnate de 65 Graph.
=> Un Module VB ne prends aucune mémoire, enfin quelques kilo, ce sont les intructions qui peuvent engendrer un débordement mémoire.

3rd remarque...
Dans tous les cas, si tu as des problèmes de mémoires depuis que tu as ajouté des macros, c'est du à trois causes probables :
[li]a) Variable non déclarées (Variant par conséquent)[/li]
[li]b) Boucles sans fin et autres 'mauvaises' programmations[/li]
[li]c) Surcharge de manipulations sucessives de mise en page de Feuilles Excel (et Graph) par VBA (conseil de Laurent Longre sur le MPFE à l'époque)[/li]

Sans plus de détails de ta part, il est dificile de te donner plus amples informations. Au cas où postes le code VBA qui pose problème.

Bonne Soirée (enfin Nuit)
[ol]@+Thierry[/ol]
 

Statistiques des forums

Discussions
312 926
Messages
2 093 672
Membres
105 781
dernier inscrit
Dominique G.