Mémoire insuffisante

Mémoire insuffisante - VB/VBA/VBS - Programmation

Marsh Posté le 24-08-2006 à 07:03:28    

Bonjour,
 
Quand je lance ma macro excel (vb 6), j'ai une box qui apparaît avec le message "Mémoire Insuffisante".
 
Pourtant pas de graph ... Mais une quarantaine de feuilles dans le classeur.
 
Avez-vous une idée ?
 
Merci par avance

Reply

Marsh Posté le 24-08-2006 à 07:03:28   

Reply

Marsh Posté le 24-08-2006 à 07:22:17    

A mon avis, je parie sur ..... un manque de mémoire ?
Le message n'est pas assez clair ?


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 24-08-2006 à 08:32:15    

Ca j'avais compris LOL  
Mais existe t'il une solution pour en libérer ...

Reply

Marsh Posté le 24-08-2006 à 08:51:51    

Oui, alléger un peu ton classeur et partager tes feuilles entre différents classeurs plutot que de tout regrouper dans un seul... Fermer des applications... Rajouter de la mémoire...


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 24-08-2006 à 09:37:36    

bonjour,
Si c'est sur le lancement d'une macro celà provient surement d'autre chose...
Le débogage nest pas proposé ?
Quelle est la taille du classeur ?
A+


Message édité par galopin01 le 24-08-2006 à 09:39:41
Reply

Marsh Posté le 24-08-2006 à 09:39:02    

non c'est en plein milieu ...

Reply

Marsh Posté le 24-08-2006 à 09:45:22    

Quelle est la taille du classeur ? (en Ko ou Mo)
Quelle genre du feuilles ? Des bases de données de 40 000 enregistrements ou de petits tableaux de quelques lignes avec de nombreuses formules et des images, des graphismes, ou des contrôles graphiques, (boutons, TextBox...)
Quel genre de macro (afficher le code)


Message édité par galopin01 le 24-08-2006 à 09:46:10
Reply

Marsh Posté le 24-08-2006 à 10:07:56    

Taille du classeur : 1.14 Mo
Des petits tableaux d'une quarantaine de lignes, pas d'images, pas de graph, pas de formulaires ...
 
Merci par avance,
 

Code :
  1. Sheets("data" ).Select
  2. Selection.AutoFilter Field:=3, Criteria1:="=*/" & Mois, Operator:=xlAnd
  3. Selection.AutoFilter Field:=5, Criteria1:="=Ile De France Sud", Operator:=xlAnd
  4. Range("A65536:Q1" ).Copy Sheets("Ile De France Sud" ).Range("A1:Q1" )
  5. Worksheets("Stats par Délégation" ).Range("F22" ).Value = "=CountIf('Ile De France Sud'!M:Q,""2 Soleils"" )"
  6. Worksheets("Stats par Délégation" ).Range("H22" ).Value = "=CountIf('Ile De France Sud'!M:Q,""1 Soleil"" )"
  7. Worksheets("Stats par Délégation" ).Range("J22" ).Value = "=CountIf('Ile De France Sud'!M:Q,""Nuageux"" )"
  8. Worksheets("Stats par Délégation" ).Range("L22" ).Value = "=CountIf('Ile De France Sud'!M:Q,""Pluvieux"" )"
  9. Worksheets("Stats par Délégation" ).Range("N22" ).Value = "=CountIf('Ile De France Sud'!M:Q,""Sans Réponse"" )"
  10. Sheets("data" ).Select
  11. Selection.AutoFilter Field:=3, Criteria1:="=*/" & Mois, Operator:=xlAnd
  12. Selection.AutoFilter Field:=5, Criteria1:="=Lorraine", Operator:=xlAnd
  13. Range("A65536:Q1" ).Copy Sheets("Lorraine" ).Range("A1:Q1" )
  14. Worksheets("Stats par Délégation" ).Range("F23" ).Value = "=CountIf('Lorraine'!M:Q,""2 Soleils"" )"
  15. Worksheets("Stats par Délégation" ).Range("H23" ).Value = "=CountIf('Lorraine'!M:Q,""1 Soleil"" )"
  16. Worksheets("Stats par Délégation" ).Range("J23" ).Value = "=CountIf('Lorraine'!M:Q,""Nuageux"" )"
  17. Worksheets("Stats par Délégation" ).Range("L23" ).Value = "=CountIf('Lorraine'!M:Q,""Pluvieux"" )"
  18. Worksheets("Stats par Délégation" ).Range("N23" ).Value = "=CountIf('Lorraine'!M:Q,""Sans Réponse"" )"
  19. Sheets("data" ).Select
  20. Selection.AutoFilter Field:=3, Criteria1:="=*/" & Mois, Operator:=xlAnd
  21. Selection.AutoFilter Field:=5, Criteria1:="=Marseille Provence", Operator:=xlAnd
  22. Range("A65536:Q1" ).Copy Sheets("Marseille Provence" ).Range("A1:Q1" )
  23. Worksheets("Stats par Délégation" ).Range("F24" ).Value = "=CountIf('Marseille Provence'!M:Q,""2 Soleils"" )"
  24. Worksheets("Stats par Délégation" ).Range("H24" ).Value = "=CountIf('Marseille Provence'!M:Q,""1 Soleil"" )"
  25. Worksheets("Stats par Délégation" ).Range("J24" ).Value = "=CountIf('Marseille Provence'!M:Q,""Nuageux"" )"
  26. Worksheets("Stats par Délégation" ).Range("L24" ).Value = "=CountIf('Marseille Provence'!M:Q,""Pluvieux"" )"
  27. Worksheets("Stats par Délégation" ).Range("N24" ).Value = "=CountIf('Marseille Provence'!M:Q,""Sans Réponse"" )"
  28. ****ICI CA BUG quand je répète une nouvelle fois le code !!****
  29. Selection.AutoFilter


Message édité par maison95 le 24-08-2006 à 10:08:31
Reply

Marsh Posté le 24-08-2006 à 10:37:55    

Bonjour,
Dans ce contexte réfléchir à une limitation d'AutoFilter ou à vider le Clipboard, ton code est pas trop optimisé...
Si ton classeur est pas trop "sensible" tu peux me l'envoyer (zippé) à cette adresse :
http://perso.orange.fr/galopin01/images/email.jpg
Je dois sortir un moment.
A+

Reply

Marsh Posté le 24-08-2006 à 10:46:54    

Si tes tableaux n'ont qu'une quarantaine de ligne tu pourrais déjà commencer par corriger ces :
Range("A65536:Q1" ).Copy :  
à chaque fois tu copy 1 500 000 cellules vides... (65000 x 22 !)
ça doit pas aider la mémoire à travailler...


Message édité par galopin01 le 24-08-2006 à 16:37:22
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed