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 :

Eviter calcul du classeur lors de sa fermeture [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 53
    Par défaut Eviter calcul du classeur lors de sa fermeture
    Bonjour à tous,

    J'ai quelques soucis d'optimisation de calcul de mon classeur qui entrainent une certaine latence lors sa fermeture.

    CONTEXTE
    J'ai un classeur assez élaboré ou viennent s'ajouter automatiquement différentes worksheets. Dans chacune des ces Worksheets, de nombreuses cellules font des appels à une fonction définie en VBA.
    Afin de limiter les problemes de lenteur, j'ai passé le calcul du workbook en Manual afin de pouvoir controler à quels moments se font les appels à cette fonction VBA.

    PROBLEME
    Lors de la fermeture du workbook, je refais passer le mode de calcul à automatic afin de ne pas léser l'utilisateur.
    Des lors, à chaque fermeture, Excel recalcule tout le classeur ce qui peut prendre pas mal de temps (2-3min). Je n'ai pas besoin que Excel recalcule le classeur car j ai déjà fait effectuer les calculs en amont.


    QUESTION
    Connaissez vous un moyen pour éviter tout recalcul du classeur à sa fermeture?

    Merci de votre aide.

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 567
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 567
    Par défaut
    peut etre fermer le classeur avant de repasser en automatique, puis ensuite seulement quitter l'application

  3. #3
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 53
    Par défaut
    L'approche me parait bonne. Cependant, je ne sais pas comment coder le fait que l'application doit repasser en calcul automatique une fois le workbook fermé.

    En effet, tout le code que je rentre est associe au code du workbook et non de l'application. Aussi, une fois le workbook fermé, le code n'est plus actif.

    Comment codes tu cela?

  4. #4
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Bonsoir.

    Je n'ai pas trop compris si tu ne voulais jamais recalculer, ou seulement à certains moments...
    Une idée à essayer : pour chaque feuille que tu ne veux pas recalculer, tu passes la propriété EnableCalculation à False. Cela n'affecte pas l'application, et tu peux laisser certaines feuilles "recalculables".

    Cordialement,

    PGZ

  5. #5
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 53
    Par défaut
    Citation Envoyé par pgz Voir le message
    Bonsoir.

    Je n'ai pas trop compris si tu ne voulais jamais recalculer, ou seulement à certains moments...
    Je force le recalcul de certaines worksheets à des moments bien précis. Cependant, lors de la fermeture du workbook, je repasse le statut EnableCalculation à True afin de ne pas embeter l'utilisateur par la suite.

    Sauf qu'en faisant cela Excel recalcule tout mon workbbok à la fermeture, ce que je cherche à éviter

  6. #6
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Bonjour.

    As-tu essayé la solution que je te propose?

    Cordialement,

    PGZ

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème lors de la fermeture du classeur
    Par adrienoob dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 19/01/2011, 10h04
  2. Réponses: 6
    Dernier message: 17/06/2005, 14h40
  3. Réponses: 2
    Dernier message: 18/03/2005, 13h00
  4. Arrêter un ttmt en cours, lors de la fermeture d'une fenêtre
    Par teska dans le forum Bases de données
    Réponses: 2
    Dernier message: 20/12/2004, 14h08
  5. Libérer les ressources lors de la fermeture d'un programme
    Par Heliopraetor dans le forum DirectX
    Réponses: 10
    Dernier message: 14/09/2004, 19h15

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