IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

[VBA-E] Gestion de la mémoire


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 101
    Par défaut [VBA-E] Gestion de la mémoire
    Bonsoir,

    je fais tourner une macro qui doit consommer pas mal de mémoire. Aussi je commence à me poser la question de la mémoire disponible pour Excel.
    J'ai essayé de voir la mémoire libre par Application.MemoryFree et la mémoire utilisée par Application.MemoryUsed.
    J'ai fais la somme des deux pour trouver combien de mémoire était allouée à Excel mais voilà: je trouve dans les 4Mo ce qui me bien ridicule par rapport à la quantité de mémoire vive qu'on peut trouver sur les pc récents et surtout par rapport au gestionnaire des tâches qui m'indique 70Mo de mémoire utilisée par le processus Excel.exe.

    Si c'est possible, je voudrais augmenter les ressources allouées à Excel.
    J'ai pas trouvé beaucoup d'informations sur le forum donc si quelqu'un a des informations sur ce qui touche à la mémoire où des sources d'informations en rapport avec ce sujet je suis preneur.
    Merci.

    Merci.

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Je ne peux pas répondre à ta question.Cependant, il faut savoir que si tu déclares toutes tes variables, que tu n'as pas un grand nombre de variables Publique, chaque procédure n'utilise que la mémoire qui lui est nécessaire. La procédure sitôt quittée libère la place occupée. C'est pourquoi il est conseillé de structurer son code au maximum.
    Si tu n'utilises pas de goto, ou uniquement pour sortir de procédure en cas d'erreur, tu ne devrais jamais avoir de pb. En tout cas, avec la version 2003, je n'en ai jamais eu malgré des codes de plus de 8000 lignes comportant des userforms chargés, une quantité de graphes, et une vingtaine de feuilles de données. Ce qui n'était pas le cas de la version 97 où je n'ai simplement pas réussi à faire tenir 120 graphes dans 30 feuilles sans aucune macro.
    A toutes fins utiles

  3. #3
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Mai 2002
    Messages : 309
    Par défaut
    Je pense que ce n'est pas une question de mémoire, mais bien un phénomène intrinsèque à Excel qui utilise beaucoup de ressources. Il faut dire aussi que MS Office n'est pas un système de développement, même si nous pouvons faire des macros évoluées. A un certain moment, je pense qu'il est préférable d'utiliser un vrai langage de développement (VB, Python, Delphi, C/C++…..) et de piloter Excel si nécessaire.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 101
    Par défaut
    Bonsoir,
    tout d'abord merci pour vos réponses.

    Ousk, j'ai juste déclaré les worksheets (environ 25) les classeurs (3) et les quelques contrôles en Public car ils sont créés dynamiquement et je dois piéger des évènements qui ne sont pas ceux qui existent par défaut lorsqu'un contrôle est crée dynamiquement, donc qu'il faut réinventer (genre Exit pour un TextBox).

    Gamal, l'avantage d'Excel c'est que tu n'as pas besoin d'un environnement spécifique ce qui revient donc moins cher aux entreprises, mais c'est vrai qu'un environnement dédié c'est bien mieux.

    En explorant un peu les méthodes de VBProject, j'ai vu qu'il y en avait une qui s'appelait MakeCompiledFile et qui normalement est supposée faire une dll de la macro, mais je n'ai pas réussi à l'utiliser.

    Est-ce que ça pourrait m'être utile?

    A+.

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Je n'ai pas ça Tu as quelle version ?

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 101
    Par défaut
    j'ai la 2003, et toi?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Application.ActiveWorkbook.VBProject.MakeCompiledFile

  7. #7
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Mai 2002
    Messages : 309
    Par défaut
    Citation Envoyé par spileo
    Gamal, l'avantage d'Excel c'est que tu n'as pas besoin d'un environnement spécifique ce qui revient donc moins cher aux entreprises, mais c'est vrai qu'un environnement dédié c'est bien mieux.
    Il y a beaucoup de choses libres et gratuites qui fonctionne très bien dans un millieu professionnel, comme Python...... Mais......

  8. #8
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Désolé, je n'ai rien trouvé sur MakeCompiledFile. Sans doute dans la version 2007...
    Bonne chance
    Je garde un oeil sur la discussion

Discussions similaires

  1. Réponses: 17
    Dernier message: 02/02/2006, 12h03
  2. Réponses: 11
    Dernier message: 26/12/2004, 22h50
  3. Gestion de la mémoire entre plusieurs DLL
    Par Laurent Gomila dans le forum C++
    Réponses: 7
    Dernier message: 27/07/2004, 15h28
  4. Réponses: 5
    Dernier message: 04/04/2003, 15h02
  5. Gestion des variables - mémoire ?
    Par RIVOLLET dans le forum Langage
    Réponses: 4
    Dernier message: 26/10/2002, 12h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo