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 :

Mise à jour des formules dans une feuille Excel [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2013
    Messages : 144
    Points : 73
    Points
    73
    Par défaut Mise à jour des formules dans une feuille Excel
    Bonjour
    J'ai une feuille contenant des formules.
    La macro que j'écris récupère des informations dans un classeur excel et les colle dans ma feuille contenant des formules. Le soucis c'est que pour que ma macro puisse continuer son évolution faudrait que les formules de la feuille excel se mettent à jour, ce qui n'est pas le cas. Ce n'est qu'après l'arrêt de la macro que ma feuille excel se met à jour.

    j'ai écris un code qui me permet de mettre à jour ma feuille pendant l'exécution de la macro
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
        For Each Plg1 In Range("C10:H134")
        Do
        Plg1.Calculate
        Loop Until Plg1.Value = "#N/A Requesting Data..."
        Next Plg1
    Mais il ne se passe rien.
    Une idée?
    Merci

  2. #2
    Membre expérimenté Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Points : 1 665
    Points
    1 665
    Par défaut
    bonjour,

    comme le code est écrit là, tu ne calcule qu'une cellule, pas la feuille.

    Donc je ne sais pas si c'est ce que tu veux..

    le code donné... soit il ne se passe rien du tout... soit ça va boucler indéfiniment...
    Alleï Bonjour chez vous!

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2013
    Messages : 144
    Points : 73
    Points
    73
    Par défaut
    J'ai changé

    avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Sheets(NomFeuil).Calculate
    mais toujours rien

    Le principal problème ici est la mise à jour de la feuille pendant que ma macro est entrain de tourner. Ce qui serait déjà un bon début serait de savoir s'il y'a moyen de faire perdre le focus à ma macro(en gros comme si elle s'est arrêtée de tourner).

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 617
    Points : 5 912
    Points
    5 912
    Par défaut
    Normalement, tes formules se mettent à jour dès qu'il y a changement.
    C'est pourquoi, lorsqu'on ne veut pas que ça calcule, on met Application.Calculation à Manuel en début de procédure et qu'on remet à Automatique à la fin.

    Si tu n'utilises pas ça, ça devrait se calculer au fur et à mesure.

    Autrement, si tu ne vois pas les changements, peut-être utilises-tu Application.ScreenUpdating à False (?)
    MPi²

  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2013
    Messages : 144
    Points : 73
    Points
    73
    Par défaut
    J'ai éssayé Mais y'a tjrs rien.
    Ce que j'ai fait c'est de mettre une pause à ma macro mais ce n'est toujours pas la solution.
    Ma dernière alternative était de découper ma macro en laissant le temps à mes formules de se mettre à jour et ça fonctionne.

  6. #6
    Membre expérimenté
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2013
    Messages
    885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 885
    Points : 1 499
    Points
    1 499
    Par défaut mise à jour des formules dans une feuille Excel
    bonjour,

    personnellement je ne saisis pas l'utilité de cette macro qui n'est de toute évidence pas celle qui introduit les valeurs à calculer dans la feuille.

    j'ai fait l'essai suivant et le calcul est immédiat à chaque changement de n.

    la formule col A + col B est colonne C
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Sub calcul()
    n = 5
    For i = 1 To 30
        Cells(i, 1) = i + n        ' valeur logée cellule Ai
        Cells(i, 2) = i + 2 * n   ' valeur logée cellule Bi
    Next i
    End Sub
    cordialement.

  7. #7
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2013
    Messages : 144
    Points : 73
    Points
    73
    Par défaut
    C'est normal que le calcul soit immédiat, parce qu'il fait partir de ta macro. Dans mon cas, ma macro ,ne fait aucun calcul, elle injecte juste les données dans les cellules et les fonctions contenues dans la feuilles font le reste du boulot(calcul). J'ai oublié de mentionner que les fonctions présentes dans ma feuille sont des fonctions bloomberg, ceci dit, pour que le calcul soit fait, il faut donner le focus à bloomberg, ce qui n'est pas le cas lorsque ma macro est en exécution.

  8. #8
    Membre expérimenté
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2013
    Messages
    885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 885
    Points : 1 499
    Points
    1 499
    Par défaut mise à jour des formules dans une feuille Excel
    bonjour,

    dans la macro, je modifie deux valeurs qui seront entrées en A et B.
    le calcul, c'est à dire la somme des deux valeurs entrées Excel, se fait bien sur la feuille excel.

    je ne connais pas les fonctions bloomgerg et le coup d'oeil jeté sur le net ne m'instruit pas davantage sur celles-ci.

    pour une meilleure info des membres, il ne serait sans doute pas inutile que tu donnes un extrait de ta feuille de calcul avec ces fonctions et de la macro dont tu parles dans ta première intervention, celle qui envoie les données à ta feuille de calcul.

    cordialement.

  9. #9
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2013
    Messages : 144
    Points : 73
    Points
    73
    Par défaut Ebauche
    Desolé de t'avoir av=bandonné. En fait les formules bloomberg ne fonctionnent que lorsqu'il existe une connexion bloomberg, auquel cas tu aura des
    #NA Requesting Data... dans tes cellules.

    Je ne suis pas autorisé à poster cette feuille de calcul, sinon je l'aurai fait par contre pour ce qui est de mon code il est dans le fichier excel ci joint. J'espère que tu arriveras à suivre.
    Fichiers attachés Fichiers attachés

  10. #10
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 617
    Points : 5 912
    Points
    5 912
    Par défaut
    Personnellement, je recommencerais à 0 ou presque...
    Tu utilises beaucoup trop de variables Globales (en entête de module). Tu cherches le trouble...

    J'ai aussi vu Application.Volatile qui ne sert à rien

    Et il y a trop de code pour bien comprendre où se situerait pe problème...
    MPi²

  11. #11
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2013
    Messages : 144
    Points : 73
    Points
    73
    Par défaut


    Ya trop de variables parce que je t'ai donné juste la partie qui fait l'importation et le calcul.

    J'ai enlevé les partie de traitement, d'enregistrement et bien d'autres encore, qui utilisent les variables que tu a vu. C'est pour ça que je t'ai dit que j'espère que tu vas suivre. Ce programme est très long.

    Et pour ce qui est d'application.Volatile, je l'ai enlevé, comme j'ai écris dans l'entête, c'est une ébauche.

    Tu veras les deux Sub que j'ai nommé ImportDonnées et CalculDonnées, ces deux sub étaient une seule avant. Mais coe juste après l'introduction de mes données ma feuille ne se mettait pas à jour, j'ai divisé ma macro. Comme ca lorsque j'importe des données(avec le USERFORM), ensuite j'arrête ma macro d'importation et je clique sur le bouton calcul pour poursuivre mon traitement.

    Comme je l'ai dit, bloomberg a besoin de prendre le Focus pour mettre à jour ma feuille, et il ne peut pas prendre ce focus quand ma macro est en exécution, entre autre j'avais pas d'autre solution que de couper ma macro.

  12. #12
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 617
    Points : 5 912
    Points
    5 912
    Par défaut
    Lorsque tu dis que tu utilises les formules Bloomberg, est-ce que ce sont les formules du genre qui suit ?
    =BDP(...)
    =BDH(...)
    =BDS(...)

    Et est-ce que ce sont ces formules qui ne se mettent pas à jour ?

    Est-ce que dans ta session Excel, il y a un onglet ajouté avec les menus Bloomberg ?
    MPi²

  13. #13
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2013
    Messages : 144
    Points : 73
    Points
    73
    Par défaut
    C'est exactement ces formules là qui sont dans ma feuille de calcul et qui ne se mettent pas à jour, et c'est exact aussi pour l'onglet.

  14. #14
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 617
    Points : 5 912
    Points
    5 912
    Par défaut
    J'ai vu la barre de menu ajouté sur ce site
    http://www.gsb.stanford.edu/sites/de...loomberg_0.pdf

    Est-ce que la boîte "Real-time updates" est bien cochée chez toi ?

    Et est-ce que tu as accès à des fonctions du Add-In à partir d'Excel ?
    C'est peut-être là qu'il faudrait regarder pour faire un "Refresh" des formules (?)
    MPi²

  15. #15
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2013
    Messages : 144
    Points : 73
    Points
    73
    Par défaut
    Real-Time Udaptes est bel et bien cochée et il y'a sur cette barre un onglet appelé Refresh Workbooks dans lequel tu as
    - Refresh Selection
    - Refresh worksheet
    - Refresh Workbook
    - Refresh Workbooks

    Et avec des sendkeys j'ai à chaque fois fait Refresh Worksheet accompagné d'un Mais ça ne me donnait toujours rien.

  16. #16
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 617
    Points : 5 912
    Points
    5 912
    Par défaut
    Voici quelque chose que j'ai trouvé et qui pourrait peut-être aider (?)
    Comme je n'ai pas accès à Bloomberg, je ne peux tester...

    If you wish to emulate the Bloomberg "Refresh All Static Data" menu item, found in the "BLP...Refresh" toolbar's drop-down menu, within your Excel VBA code, you can do so by adding the following line of code within a sub procedure/function in a code module:



    VB:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.Run "blpmain.xla!RefreshAllStaticData"
    For this code to update static RTD links, the "Use DDE Only" checkbox in the "About Bloomberg Excel Add-In" dialog box must be unchecked (otherwise DDE will be used), you must be using Microsoft Excel 2002, or greater (previous versions do not support RTD), and you must use the BLP() function (a straight RTD call in an Excel worksheet cell will not work, just as it will not work with its toolbar equivalent.
    MPi²

  17. #17
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2013
    Messages : 144
    Points : 73
    Points
    73
    Par défaut
    Ah j'avais déjà éssayé cette ligne de code, mais je n'ai eu aucun bon resultat. J'avais un message d'erreur qui me disait

    fichier introuvable

  18. #18
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 617
    Points : 5 912
    Points
    5 912
    Par défaut
    Lorsque tu es dans l'IDE, est que tu vois le fichier BLPMAIN.xla à gauche avec le ou les autres programmes ?

    Sinon, il faudrait probablement que tu coches le fichier dans la liste des macros complémentaires.
    MPi²

  19. #19
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2013
    Messages : 144
    Points : 73
    Points
    73
    Par défaut
    Sisi je vois ce fichier, mais il est impossible de le toucher. Les macro xla de Bloomberg sont protégées par un mot de passe. De toutes les façons, s'il ya un moyen que ça marche, c'est eux qui devraient avoir la solution.

  20. #20
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Points : 2 553
    Points
    2 553
    Par défaut
    Kutoh... J'utilise aussi bloomberg souvent.

    A l'endroit ou tu dois attendre qu'elles se réactualisent mets un petit :

    Qui fera attendre 15 secondes histoire que ton sheet s'actualise.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    sub wait()
    PauseTime=15
    Start = Timer
    Do while timer< Start + PauseTime
    DoEvents
    Loop
    End Sub
    Il te suffira de jouer avec le PauseTime pour que toutes soient actualisés.

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 14/03/2014, 13h39
  2. Mise à jour des données dans une colonne
    Par BZH75 dans le forum SQL
    Réponses: 9
    Dernier message: 09/01/2008, 16h18
  3. [VBA-E] Problème pour insérer des lignes dans une feuille Excel
    Par skystef dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/04/2007, 14h13
  4. Réponses: 9
    Dernier message: 19/02/2007, 20h33
  5. Problème de lecture des cellules dans une feuille Excel
    Par wangjun dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 08/10/2006, 09h35

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