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 :

Attendre l'ouverture effective du fichier pour poursuivre la macro


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Femme Profil pro
    reconversion en cours
    Inscrit en
    Juillet 2009
    Messages
    637
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : reconversion en cours
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2009
    Messages : 637
    Par défaut Attendre l'ouverture effective du fichier pour poursuivre la macro
    Bonjour,
    Je dois ouvrir un gros fichier pour récupérer des données. Malheureusement ma macro n'attend pas l'ouverture effective du fichier pour continuer son travail.
    J'ai essayé DoEvents, mais cela ne fonctionne pas.
    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Workbooks.Open (ChemBo & "Requete BO.xlsx")
        DoEvents
        Set WbBo = ActiveWorkbook
    With Sheets("NIR Sans suite")
        .ListObjects.Add(xlSrcRange, .Range("$C$9").CurrentRegion, , xlYes).Name = "TbBoSource"
        .ListObjects("TbBoSource").TableStyle = "TableStyleMedium5"
    End With
    Du coup la partie with... n'est pas traitée.

    Merci de votre aide

  2. #2
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    bonsoir
    tant que ton code est placé sous l’événement Workbooks.Open donc c'est tout à fait normal qu'il s'exécute à l'ouverture
    tu peux donc déplacer sous code sous un bouton de commande et comme ça le code s'exécute que au moment de clic sur le bouton

  3. #3
    Membre éclairé
    Femme Profil pro
    reconversion en cours
    Inscrit en
    Juillet 2009
    Messages
    637
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : reconversion en cours
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2009
    Messages : 637
    Par défaut
    Bonjour BENNASR,
    Merci pour ta réponse, mais cela n'est pas possible. C'est dans le cadre d'une procédure, ou l'on doit ouvrir un fichier pour y récupérer des données, puis un autre pour les mettre dedans, puis un autre...
    Donc, il ne faut pas interrompre la macro.

  4. #4
    Membre Expert Avatar de mfoxy
    Homme Profil pro
    Automation VBA
    Inscrit en
    Février 2018
    Messages
    752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Automation VBA
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2018
    Messages : 752
    Par défaut
    Hello,

    Je pense que tant que ton classeur est en cours d ouverture, il est est readonly
    Peut-être donc en bouclant sur cette propriété, des que plus readonly mais acces en écriture poursuivre la macro ?

    Un truc du genre ( non testé)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    Do Until wb.ReadOnly = False 'wb étant ta variable workbook
     
     Application.Wait Now + TimeValue("00:00:01") 
     
    Loop

  5. #5
    Membre éclairé
    Femme Profil pro
    reconversion en cours
    Inscrit en
    Juillet 2009
    Messages
    637
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : reconversion en cours
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2009
    Messages : 637
    Par défaut
    Bonsoir mfoxy,

    Merci pour ta réponse, mais non cela ne fonctionne toujours pas, les procédures suivantes démarrent, avant que ce fichier soit ouvert

Discussions similaires

  1. [XL-2010] Problème pour l'ouverture d'un fichier Excel suite à une macro VBA
    Par BDA53 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 27/11/2015, 10h40
  2. [XL-MAC 2011] Ouverture d'un fichier que comporte des macros
    Par Gogia dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/08/2011, 15h34
  3. [XL-2003] Attendre fin des calculs pour poursuivre la macro
    Par Cerize dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 23/12/2010, 10h51
  4. ouverture d'un fichier excel par une macro
    Par gaihdriah dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 11/02/2009, 13h16
  5. Comment attendre la création d'un fichier pour le copier
    Par nicolas2603 dans le forum VBA Access
    Réponses: 3
    Dernier message: 13/03/2008, 12h57

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