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] probleme de declenchement de macro excel


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 37
    Points : 14
    Points
    14
    Par défaut [vba-e] probleme de declenchement de macro excel
    bonjour, je possede une macro sous exel qui me creer automatiquement une liste (a partir d'une mise a jour de donnée via internet), lorsque j'ouvre mon fichier exel ma mise a jour se fait automatiquement ainsi que ma macro. Ce que je voudrai c'est trouver le code qui me permette de lancer ma macro X seconde apres l'ouverture du fichier (le temps de la mise a jours....)
    j'ai essayé avec ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Application.OnTime Now + TimeValue("00:00:10"), "Workbook_Open"
    mais le truc c'est que ca s'execute en boucle........

    et la ca fait un moment que je bloque.....

    merci d'avance

  2. #2
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 342
    Points : 4 299
    Points
    4 299
    Par défaut
    Regarde l'expression Wait et regarde l'aide il y a un truc qui te permet de'attendre 10 s dans l'exemple

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 37
    Points : 14
    Points
    14
    Par défaut
    merci je vais chercher de ce coté

  4. #4
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    Citation Envoyé par clarkk
    b...
    Application.OnTime Now + TimeValue("00:00:10"), "Workbook_Open"
    [/code]
    mais le truc c'est que ca s'execute en boucle........
    ...
    suffit de faire dans un module une procedure dans laquelle tu déplace le code actuellement dans WorkBook_open...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Sub MaProcedureInit()
    '
    ' ... le code ancienement dans Workbook_Open
    '
    end sub
    et dans WorkBook open tu met le On_time qui appelle ta nouvelle procedure

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub Workbook_Open ()
     
    Application.OnTime Now + TimeValue("00:00:10"), "MaProcedureInit"
    end sub
    ainsi tu ne repasse pas par la ligne App...onTime.. qui te "rappelle" 10s + tard..

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 37
    Points : 14
    Points
    14
    Par défaut
    c'est ce que j'avais fait au debut, ca me parraissait logique mais aparement j'avais du me planter ds les nom de fichiers parceque maintenat ca marche

    merci
    l'idée du wait me parait interressante aussi je vais essayer de l'utiliser en parallèle par simple curiosité
    merci

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Et si tu remplaçais le timer ou le wait par "DoEvents"
    Regarde dans l'aide à quoi ça sert

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 37
    Points : 14
    Points
    14
    Par défaut
    Au vu de l'explication de l'aide, je pense que la fonction DoEvents et un peu au dessu de mes capacitées
    Du moins pour le moment

  8. #8
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Meuh non, clarkk, la fonction DoEvents n'est pas au dessus de tes capacitées
    Citation Envoyé par L'aide
    DoEvents passe la main au système d'exploitation jusqu'à ce que ce dernier ait terminé de traiter les événements de sa file d'attente et que tous les codes de la file d'attente SendKeys aient été transmis.
    C'est à dire, dans ton cas, que la macro va attendre que le fichier soit chargé avant de passer à la suite des opérations

  9. #9
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    106
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 106
    Points : 66
    Points
    66
    Par défaut
    Ouskel'n'or a dit:
    L'aide a écrit :
    DoEvents passe la main au système d'exploitation jusqu'à ce que ce dernier ait terminé de traiter les événements de sa file d'attente et que tous les codes de la file d'attente SendKeys aient été transmis.
    Petite question, si DoEvents donne la main au PC pour qu'il traite les autres tâches, est ce que Sleep fait de même ? Je veux dire par là que si clarkk fait un Sleep 10000, est-ce que le PC va s'occuper d'autres processus ou alors il est "planté" pendant 10 secondes ?

    Merci

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 37
    Points : 14
    Points
    14
    Par défaut
    En fait elle est pas mal cette fonction c'est vrai que si le temps de mise a jour devien superieur a 10S a cause d'un pb internet (ce qui ne m'etonnerait pas ma macro n'est plus utile et je vais recuperer les ancienne info........


    merci pour ce conseil je vais surement l'exploiter.....

  11. #11
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Petite question, si DoEvents donne la main au PC pour qu'il traite les autres tâches, est ce que Sleep fait de même ? Je veux dire par là que si clarkk fait un Sleep 10000, est-ce que le PC va s'occuper d'autres processus ou alors il est "planté" pendant 10 secondes ?
    Non, sleep est comme wait mais en millisecondes

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

Discussions similaires

  1. [VBA-E]Probleme macro VBA excel 2000 2003
    Par skichatchat dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/04/2007, 21h16
  2. [VBA-E]probleme d'integration de Macro.
    Par Stef784ever dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 08/06/2006, 01h25
  3. Probleme d'enregistrement sur Macro/VBA de Excel
    Par life is magic dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 28/11/2005, 17h23
  4. probleme de selection aleatoire sur excel avec macro vba
    Par guillaume sors dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/10/2005, 10h51

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