VIDER LE MEMOIRE pour accelerer

Signaler
Messages postés
2
Date d'inscription
jeudi 29 mai 2003
Statut
Membre
Dernière intervention
29 mai 2003
-
maggy55
Messages postés
2
Date d'inscription
mardi 8 février 2005
Statut
Membre
Dernière intervention
6 septembre 2011
-
Bonjour à tous,

j'ai un soucis avec une macro dans EXCEL.
En effet je realise des calculs sur environ 500 000 cellules et lorsque je lance ma macro les 100 000 ptremières se font en quelques secondes. Mais apres plus ca avance et plus CA RAME!! vers la 200 000ème cellule il lui faut environ 1/2s par cellule.
Vous direz c'est normal il fatigue!!

ma question est donc la suivante...
Peut-on faire en VBA une commande qui vide la memoire temporaire de maniere a booster ,tous les 100 000 cellules par exemple, le prog?

merci d'avance
@+
vincent

5 réponses

Messages postés
80
Date d'inscription
mercredi 13 mars 2002
Statut
Membre
Dernière intervention
8 novembre 2006

Et non on n'est pas en C++ là lol.
Par contre tu peux mettre DoEvents dans la boucle for pour le soulager un peu
@+ KtB

"En littérature, le plus sûr moyen d'avoir raison c'est d'être mort." (V. Hugo) Aucun rapport avec VB mais pas mal, non ?
Messages postés
2
Date d'inscription
jeudi 29 mai 2003
Statut
Membre
Dernière intervention
29 mai 2003

a quoi sert doevents?

@+ et merci
vincent
Messages postés
80
Date d'inscription
mercredi 13 mars 2002
Statut
Membre
Dernière intervention
8 novembre 2006

L'instruction DoEvents (sans aucun paramètre) permet à l'ordinateur d'exécuter d'autre tâches quand elle est appelée : si t'as une boucle for, pendant que la boucle for est parcourue, le prog est "planté" il ne peut faire que ça : il ne réagit plus aux autres événements. Le fait de mettre DoEvents, ça fait exécuter les événements en attente et ça évite de planter le prog (voire l'ordi) si t'as une grosse boucle.

@+KtB
"En littérature, le plus sûr moyen d'avoir raison c'est d'être mort." (V. Hugo) Aucun rapport avec VB mais pas mal, non ?
Messages postés
1
Date d'inscription
dimanche 31 août 2003
Statut
Membre
Dernière intervention
31 août 2003

-------------------------------
Réponse au message :
-------------------------------

> Bonjour à tous,
>
> j'ai un soucis avec une macro dans EXCEL.
> En effet je realise des calculs sur environ 500 000 cellules et lorsque je lance ma macro les 100 000 ptremières se font en quelques secondes. Mais apres plus ca avance et plus CA RAME!! vers la 200 000ème cellule il lui faut environ 1/2s par cellule.
> Vous direz c'est normal il fatigue!!
>
> ma question est donc la suivante...
> Peut-on faire en VBA une commande qui vide la memoire temporaire de maniere a booster ,tous les 100 000 cellules par exemple, le prog?
>
> merci d'avance
> @+
> vincent
>

Bonjour vincent , j'ai le même probleme que toi j'ai juste remarqué que si l'on changeai de feuille le processus etait un peu plus rapide
si tu a une soluce pour vider la memoire je suis prenneur
@+ Serge
Messages postés
2
Date d'inscription
mardi 8 février 2005
Statut
Membre
Dernière intervention
6 septembre 2011

Quelques années plus tard...

je suis tombé sur votre discution sans réponse et en fouillant pour le même problème j'ai trouvé ceci
http://groupes.codes-sources.com/articlefull.aspx?id=395568
je ne l'ai pas testé encore mais au cas ou quelqu'un autre passerait par ici