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 :

executer code vba apres le calcul automatique des fomules


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mai 2007
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 335
    Par défaut executer code vba apres le calcul automatique des fomules
    Bonjour,

    j'ai un userform dans laquelle j'affiche et j'actualise un graphe par code vba et ce graphe est lié a une série de cellules dans lesquelles il y a des formules
    le problème est que des-fois le graphe s'affiche avant que les formules ne soient actualisées (calcule automatique des formules) donc le graphe affiche les anciennes données avant le calcul
    y a t-il le moyen de démarrer l’exécution du code vba après le calcul automatique des formules ?

    Merci pour votre aide

  2. #2
    Membre éclairé
    Inscrit en
    Janvier 2003
    Messages
    604
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 604
    Par défaut
    Bonjour,
    Je te propose avant de lancer ton affichage de vérifier que les formules se soient executés.
    Si une des formules affiche une valeur à la fin des process de calcul automatique, tu peux t'en servir comme condition.
    Sinon tu peux créer ta propre formule dans un module.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function Verif() as int
    application.volatile
    activesheet.range("TestFin")=1
    ' TestFin est une cellule nommée
    end function
    tu mets "=Verif" dans une cellule en bas à droite de ton fichier.
    (en plus tu pourrais vérifier que les autres fonctions sont passées avant
    que Verif s'execute)
    Et dans ton code de graphe du vérfie la valeur de la cellule nommée "TestFin"..
    Voila.
    Ca devrait le faire.

  3. #3
    Membre éclairé
    Inscrit en
    Mai 2007
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 335
    Par défaut
    Merci pour ta réponse,
    je trouve l’idée inintéressante mais je n'arrive pas a utiliser la fonction et quand je fais des changements et j'actualise les formules rien ne se passe et la fonction '=verif' renvoi #NOM?
    merci pour votre aide

  4. #4
    Membre éclairé
    Inscrit en
    Janvier 2003
    Messages
    604
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 604
    Par défaut
    Bonjour,

    J'ai oublié de faire une fonction correcte, qui doit renvoyer une valeur
    Voilà la correction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Function verif() As Integer
    Application.Volatile
    If ActiveSheet.Range("Verif") = 1 Then
        verif = 1
    Else
        verif = 0
    End If
    End Function
    Verif est bien sûr une cellule nommée, que tu peux placer ou tu veux.
    verif() étant une fonction que tu dois glisser dans un module de code.
    (insertion->Module dans VBE)

    Voilà bonne semaine.

  5. #5
    Membre éclairé
    Inscrit en
    Mai 2007
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 335
    Par défaut
    merci
    ça ne marche pas ou bien je n'arrive pas a afficher le graphe après l'actualisation des formules
    est ce que je peux faire quelque chose avec Worksheet_Calculate ??
    merci pour votre aide

  6. #6
    Membre éclairé
    Inscrit en
    Janvier 2003
    Messages
    604
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 604
    Par défaut
    Bonjour,
    Est ce que tu as bien posé une condition dans ton graphe
    qui implique la création du graphe une fois qu'une formule
    a rendu son résultat ?
    Le Worksheet.calculate peut effectivement forcer le calcul.
    On peut aussi mettre application.calculation=xlCalculationAutomatic
    au démarrage de ton code.
    En souhaitant que cela marche. Sinon soumet nous le code de ton graphe
    pour voir comment l'activer en fonction d'un résultat extérieur.
    Bye.

Discussions similaires

  1. Réponses: 10
    Dernier message: 18/05/2011, 11h52
  2. [AC-2007] comment Executer code VBA à partir du formulaire ?
    Par sarah12 dans le forum VBA Access
    Réponses: 0
    Dernier message: 23/07/2010, 13h20
  3. Executer du code vba apres un publipostage
    Par xcbilx dans le forum VBA Word
    Réponses: 6
    Dernier message: 10/04/2008, 00h53
  4. Code VBA après conversion 2003->97
    Par madchemiker dans le forum VBA Access
    Réponses: 4
    Dernier message: 23/05/2007, 16h15
  5. [VBA] [EXCEL 97] Formatage automatique des cellules
    Par plante20100 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/09/2005, 09h49

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