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 :

Récupération de l'affichage de la status bar


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 21
    Points : 7
    Points
    7
    Par défaut Récupération de l'affichage de la status bar
    Bonjour à tous

    Je travaille sur un gros fichier dans lequel j'ai désactive le calcul automatique.
    Pour arriver aux données finales , il faut effectuer un recalcul manuel 3 fois de suite au minimum

    Je voudrais automatiser ce recalcul et donc déclencher un deuxième calcul après que le premier soit terminé et un troisième après que le deuxième soit terminé. J'ai bien essayé d'utiliser la propriété application.calculationstatus mais rien y fait lorsqu'elle est à xldone, cela ne semble pas correspondre au "prêt" qui est affiché sur la status bar. Commet pourrais-je faire pour détécter le vrai moment ou excel est de nouveau prêt pour un recalcul ???


    Merci d'avance

  2. #2
    pgz
    pgz est déconnecté
    Expert éminent 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 : 71
    Localisation : France

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

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

    C'est peut-être la propriété que tu cherches.

    PGZ

  3. #3
    Futur Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 21
    Points : 7
    Points
    7
    Par défaut
    Bonjour PGZ

    application.ready a l'air de fonctionner mais cela ne me règle toujours pas mon problème . Voici un extrait du code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Do While compteur <= 4
       Application.Calculate
       Do
       Application.StatusBar = "calcul en cours"
       Loop Until Application.Ready = True
     
    Application.StatusBar = "phase" & compteur & "terminée"
    compteur = compteur + 1
     
    Loop
     
    Application.StatusBar = False
    Il n'y a aucune erreur qui ets soulevée mais le calcul ne se fait qu'un seule fois seulement ...

  4. #4
    pgz
    pgz est déconnecté
    Expert éminent 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 : 71
    Localisation : France

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

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Regarde si cela fonctionne avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    For Compteur = 1 To 3
       Application.Calculate
       Application.StatusBar = "Calcul en cours phase " & Compteur
     
       Do
            DoEvents
       Loop Until Application.Ready = True
     
    Next Compteur
    Je n'ai pas testé.

    PGZ

  5. #5
    Futur Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 21
    Points : 7
    Points
    7
    Par défaut
    Ca ne fonctionne pas non plus .. le ne s'exécute qu'une seule fois

  6. #6
    pgz
    pgz est déconnecté
    Expert éminent 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 : 71
    Localisation : France

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

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Tu vois comment qu'il ne s'exécute qu'une fois?

    PGZ

  7. #7
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 128
    Points : 55 940
    Points
    55 940
    Billets dans le blog
    131
    Par défaut
    Bonjour

    Et avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.calculatefull
    Dois-tu toujours boucler pour réaliser plusieurs calculs?

  8. #8
    Futur Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 21
    Points : 7
    Points
    7
    Par défaut
    comme je l'ai dit à mon premier message, les données s'affichent après trois calculs manuels . (manuellement en pressant F9 à chaque fois cela marche très bien) mais là non. Et puis avec un pas à pas détaillé la boucle où se trouve le DoEvents ne tourne pas, alors que manuellement le calcul prend 30 sec au bas mot

  9. #9
    pgz
    pgz est déconnecté
    Expert éminent 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 : 71
    Localisation : France

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

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Je pense aussi que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.CalculateFull
    est la solution.
    Ou de désigner les feuilles à calculer.

    PGZ

  10. #10
    Futur Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 21
    Points : 7
    Points
    7
    Par défaut
    Ni l'un ni l'autre ...

    je commence à déssespérer . Le problème c'est que manuellement cela marche très bien .

    je précise que la raison pour laquelle les données ne s'actualisent pas dès le premier calculate est que ce sont des formules bloomberg

  11. #11
    pgz
    pgz est déconnecté
    Expert éminent 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 : 71
    Localisation : France

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

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bizarre.

    J'ai fait un essai avec une simple fonction de cumul et
    1. la méthode Calculate de l'objet Application ne fonctionne qu'une fois
    2. la méthode Calculate de l'objet WorkSheet fonctionne 3 fois
    3. la méthode CalculateFull de l'objet Application fonctionne 3 fois.

    Tu as testé avec quel code?

    PGZ

  12. #12
    Futur Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 21
    Points : 7
    Points
    7
    Par défaut
    J'ai essayé avec application.calculatefull et worksheet.calculate et ça n'a rien changé ..

  13. #13
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 128
    Points : 55 940
    Points
    55 940
    Billets dans le blog
    131
    Par défaut
    ET avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    application.CalculateFullRebuild
    Dans ce cas, Excel "ressaisit" les formules...

  14. #14
    Futur Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 21
    Points : 7
    Points
    7
    Par défaut
    alors cela marche avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    application.calculatefullrebuild
    c'est à dire que le calcul se fait bien 4 fois
    mais le souci c'est que cette fois-ci le données ne sont pas recalculées malgré l'affichage du recalcul sur la status bar ...

  15. #15
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 128
    Points : 55 940
    Points
    55 940
    Billets dans le blog
    131
    Par défaut
    As-tu accès aux fonctions en VBA utilisées dans les cellules?

    Si oui, il faudrait ajouter
    pour forcer le recalcul de la fonction lors du recalcul des feuilles

  16. #16
    Futur Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 21
    Points : 7
    Points
    7
    Par défaut
    Rien n'y fait !!

    en fait à partir du 2ème recalcul on dirait que le calcul se fait dans le vide, le pourcentage défile très vite alors que manuellement il s'écoule une vingtaine de secondes ..

  17. #17
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 128
    Points : 55 940
    Points
    55 940
    Billets dans le blog
    131
    Par défaut
    En manuel, après le premier calcul, la barre affiche "Prêt" ou affiche toujours "Calculer"?

  18. #18
    pgz
    pgz est déconnecté
    Expert éminent 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 : 71
    Localisation : France

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

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Tu peux essayer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.Calculation = xlCalculationManual
    pour voir.


    PGZ

  19. #19
    Futur Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 21
    Points : 7
    Points
    7
    Par défaut
    la barre affiche prêt a l'extrême gauche et calculer un peu plus loin

  20. #20
    Futur Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 21
    Points : 7
    Points
    7
    Par défaut
    Pour le xlcalculationmanual j'ai déjà essayé sans succès ainsi qu'un rebasculement en xlcalculationautomatic

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [WD-2007] Affichage d'informations dans le "Status Bar"
    Par canard338 dans le forum VBA Word
    Réponses: 4
    Dernier message: 09/08/2010, 10h36
  2. le status bar
    Par programaniac dans le forum Composants VCL
    Réponses: 15
    Dernier message: 04/11/2005, 11h22
  3. progress bar dans une status bar ?
    Par raggadoll dans le forum C++Builder
    Réponses: 1
    Dernier message: 02/11/2005, 15h17
  4. [C#] Status bar en .net
    Par fabrice1596 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 24/10/2004, 11h29
  5. [MFC] Status bar
    Par fr_ed_er_ic dans le forum MFC
    Réponses: 5
    Dernier message: 21/07/2004, 15h12

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