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 :

Panne de macro


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
    Août 2007
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 49
    Par défaut
    Bonjour,

    j'ai un petit problème, ma macro demande d'ouvrir un fichier et cette macro s'arrête (alors qu"elle nest pas finie) après avoir ouvert le bon fichier:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    'déprotection de toutes les feuilles utilisées de la master et ouverture Tank Data
    Workbooks.Open ("x:\xxxx\Resin Data\" & res & "\" & res & "_Data.xls"), UpdateLinks:=0      
    Workbooks("" & res & "_Data.xls").Activate
    Pendant le fonctionnement, le module activé est en "running", et pendant que le nouveau fichier s'ouvre, c'est un module sur ce nouveau fichier qui est en "running".
    Donc la macro n'est plus en "running et la page "Excel" est ouverte sur le fichier qui vient de s'ouvrir et au niveau VBa, le curseur est sur une page du nouveau fichier .
    A noter que ça marchait il y a pas longtemps
    Merci d'avance

    Apparemment, c'est une option soit dans Excel ou dans VBA car toutes mes macros qui fonctionnaient très bien ne fonctionnent plus !
    Et c'est confirmé par le fait que cette "#@^***" de macro fonctionne sur un autre poste
    AU SECOURS !!!

  2. #2
    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
    Par défaut
    Quand tu ouvres un classeur, il devient le classeur actif. Tu peux supprimer la seconde ligne
    Workbooks.Open ("x:\xxxx\Resin Data\" & res & "\" & res & "_Data.xls"), UpdateLinks:=0
    'Workbooks("" & res & "_Data.xls").Activate
    Ensuite, tu dois laisser au fichier le temps de s'ouvrir avant de vouloir travailler dessus
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Workbooks.Open ("x:\xxxx\Resin Data\" & res & "\" & res & "_Data.xls"), UpdateLinks:=0
    DoEvents
    Tu peux parfaitement avoir le même code qui fonctionne sur un micro et non sur l'autre si le second "traîne" pour ouvrir le fichier. DoEvents laisse le temps au système d'ouvrir le fichier.
    Tu testes et tu dis
    Bonne journée

  3. #3
    Membre averti
    Inscrit en
    Août 2007
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 49
    Par défaut
    Bonjour ouskel'n'or,

    Cette macro fonctionnait encore il y a deux jours, j'ai essayé d'enlever la ligne "activate", j'ai tout essayé en fait, même en laissant le temps, la macro n'est plus en "running"( donc arrêtée sur le fichier qui vient de s'ouvrir) et la macro ne passe donc pas par "DoEvents" puissse qu'elle ne tourne plus!

  4. #4
    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
    Par défaut
    Alors il nous manque des infos : As-tu une macro dans Workbook_Open du classeur ouvert ?
    Montre-nous plus de code.
    Si un classeur n'a pas le temps de s'ouvrir, la suite s'exécute mais "ailleurs"
    Si tu ouvres un userform sur la ligne suivante, la macro qui l'affiche s'interrompt.
    Si un message s'affiche... Idem
    Tu as de nombreuses raisons qui peuvent interromprent une macro. Donc, précise le contexte.

  5. #5
    Membre averti
    Inscrit en
    Août 2007
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 49
    Par défaut
    Je veux bien te montrer plus de code mais comme tout s'arrête à l'ouverture du classeur, je pense que ça va pas servir à grand chose.
    Non, je n'utilise pas de userform et non il n'y a aps de macro dans le workbook_open.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    Sub clear_finish()
     
    Worksheets("Resin Adjustment").Activate
            infos
     
            '*************changement à remettre si accepté******************
     
    'Remplacer
    'Workbooks ("MC_" & res & "_" & r & "_test_2curves.xls")
    'par
    'Workbooks ("MC_" & res & "_" & r & ".xls")
     
            '*************changement******************
     
     
            Application.ScreenUpdating = False
     
            'valeurs des variables
     
            jour = Worksheets("Condensation Report").Range("j4")
            lot = Worksheets("Condensation Report").Range("d4")
            rdt = Worksheets("Condensation Report").Range("o4")
            gel = Worksheets("Resin Adjustment").Range("i36")
            pic = Worksheets("Resin Adjustment").Range("j36")
            temp = Worksheets("Resin Adjustment").Range("k36")
     
            'déprotection de toutes les feuilles utilisées du lot
            Worksheets("Reactivity adjustment").Activate
            ActiveSheet.Unprotect ("qc")
            Worksheets("Resin adjustment").Activate
            ActiveSheet.Unprotect ("qc")
            Worksheets("Correction Data").Unprotect ("qc")
            Worksheets("Final Data").Unprotect ("qc")
            test_heure_mel1
            test_heure_reac1
            'déprotection de toutes les feuilles utilisées de la master et ouverture Tank Data
    Workbooks.Open ("G:\Fabreport\Resin Data\" & res & "\" & res & "_Data.xls"), UpdateLinks:=0
            Workbooks("" & res & "_Data.xls").Activate
     
    'test si la ligne 2000 est pleine
        Worksheets("Final data base").Activate
    NB : toutes les variables ont bien été déclarées et dimensionnées
    Mon problème, je pense viens d'une option ou autre car cela fonctionne sur tous les PC de ma boite sauf sur le mien depuis 1 ou 2 jours, et c'est génant pour faire des améliorations !

  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
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Workbooks.Open ("G:\Fabreport\Resin Data\" & res & "\" & res & "_Data.xls"), UpdateLinks:=0
            Workbooks("" & res & "_Data.xls").Activate
    DoEvents
    'test si la ligne 2000 est pleine
        Worksheets("Final data base").Select
    Tu testes ça sans rien changer et si ça ne fonctionne toujours pas, vérifie que le classeur que tu ouvres ne contient rien dans ThisWorkbook -> Editeur VBA -> Deux clic sur ThisWorkbook.
    Il y a bien une raison (...)
    Je maintiens le DoEvents ! S'il ne sert pas, il ne nuit pas. Mais s'il n'est pas là, il peut manquer !

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

Discussions similaires

  1. EG 4.3 Macro et panne superviseur XU
    Par wzebre dans le forum Outils BI
    Réponses: 1
    Dernier message: 24/01/2013, 17h51
  2. [VB6] Exécuter une macro Access
    Par Nektanebos dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 22/02/2006, 16h32
  3. [VBA-E] [Excel] Lancer une macro à une heure donnée
    Par Lysis dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/10/2002, 12h15
  4. Qu'est-ce qu'une macro ?
    Par karli dans le forum Assembleur
    Réponses: 2
    Dernier message: 01/09/2002, 03h38
  5. Réponses: 2
    Dernier message: 22/07/2002, 12h13

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