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]QueryTable et utilisation mémoire


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Pgs
    Pgs est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 482
    Par défaut [VBA-E]QueryTable et utilisation mémoire
    Bonjour,

    Lors de l'utilisation d'une macro qui lance un QueryTable, j'ai constaté qu'EXCEL utilisait beaucoup de mémoire.

    Pire : si je lance plusieurs fois cette macro sans quitter EXCEL, la taille mémoire utilisée augmente à chaque fois.....jusqu'à l'EXPLOSION !!!!

    C'est comme si EXCEL mettait les données en mémoire tampon (pourtant, la propriété "savedata" est à "false").

    Quelqu'un saurait il comment libérer cette mémoire sans avoir à quitter Excel.

    Merci pour toute assistance

    Philippe

  2. #2
    Expert confirmé
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Par défaut
    sans le code de ta macro, a moins d'être extralucide, ca va pas être commode

  3. #3
    Pgs
    Pgs est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 482
    Par défaut
    Bonjour,

    Voici donc mon code.

    Remarque : il s'agit d'appels OLE à des instructions VB via C++.

    Tout marche très bien, à une exception près : l'augmentation considérable de la mémoire utilisée par EXCEL à chaque fois que je lance la dernière instruction (vTable.OleFunction("Refresh"));

    vTables=Feuille.OlePropertyGet("QueryTables");
    vTable=vTables.OleFunction("Add","Chaîne de connection", Destination,"Chaîne SQL");
    vTable.OlePropertySet("Name","REQ");
    vTable.OlePropertySet("FieldNames",true);
    vTable.OlePropertySet("RowNumbers", false);
    vTable.OlePropertySet("PreserveFormatting", false);
    vTable.OlePropertySet("PreserveColumnInfo", false);
    vTable.OlePropertySet("HasAutoFormat", false);
    vTable.OlePropertySet("AdjustColumnWidth", false);
    vTable.OlePropertySet("FillAdjacentFormulas", false);
    vTable.OlePropertySet("RefreshOnFileOpen", false);
    vTable.OlePropertySet("RefreshStyle", 0);
    vTable.OlePropertySet("RefreshPeriod", 0);
    vTable.OlePropertySet("SavePassword", false);
    vTable.OlePropertySet("SaveData",false);
    vTable.OlePropertySet("BackgroundQuery", false);

    vTable.OleFunction("Refresh");

    Bonne journée

    Philippe

Discussions similaires

  1. [VBA-E] Saturation de la mémoire car trop de macros activées
    Par MrYoYo dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 02/12/2005, 19h01
  2. VBA ... CurrentRecord ... Problème d'utilisation
    Par snoopy69 dans le forum Access
    Réponses: 7
    Dernier message: 17/10/2005, 10h53
  3. [Tomcat][Spring] Problème utilisation mémoire
    Par Wutintin dans le forum Hibernate
    Réponses: 12
    Dernier message: 08/09/2005, 14h57
  4. [MFC] Utilisation mémoire
    Par CTux dans le forum MFC
    Réponses: 10
    Dernier message: 08/07/2005, 09h58
  5. Utilisation Mémoire d'une application
    Par scorplex dans le forum Composants VCL
    Réponses: 8
    Dernier message: 21/05/2005, 03h01

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