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 :

Interruption macro VBA Excel lors de l'utilisation parallèle de Powerpoint


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2013
    Messages : 3
    Par défaut Interruption macro VBA Excel lors de l'utilisation parallèle de Powerpoint
    Bonjour à tous, développeurs, fans d'Excel,

    Je viens vers vous car je n'arrive pas à trouver l'origine d'un problème. Je vous serais très reconnaissant si vous pouviez m'assister de vos connaissances avancées sur le sujet.

    J'ai développé un ensemble de procédures sur la base d'un fichier Excel avec macros socle, gérant de manière automatisée la production de fichiers Excel de données calculées. La chaîne des traitements accède à des fichiers Excel de données, lance des Power Query, insère le résultat des calculs dans un fichier Excel final. Les Power Query ont pour source des fichiers Excel statiques, lors de toute l'exécution des traitements, dans un dossier adjoint.

    Lors de mes traitements, j'ouvre plusieurs fichiers Excel pour réaliser des vérifications et des calculs, ceux des données source, et d'autres fichiers intermédiaires de calcul, selon le même modèle suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Set classeurVerifie = Workbooks.Open(Filename:=nomDossierExport & "\" & nomFichierDonneesDExport)
     
    'Liste d'instructions
     
    classeurVerifie.Save
    classeurVerifie.Close
    J'ouvre les fichiers Excel 1 par 1 dans mes programmes.

    Le temps d'attente pour l'obtention des résultats des requêtes de calcul pouvant être long (> 1 heure), il serait idéal pour ce que je développe que l'utilisateur puisse utiliser d'autres logiciels en parallèle: Powerpoint, Word, navigateur internet. Mais, j'ai constaté que, si je lance ma macro principale, et si j'utilise Powerpoint alors qu'elle tourne toujours, et seulement si j'effectue des sauvegardes manuelles d'un fichier Powerpoint en même temps, l'exécution de la macro peut s'interrompre.

    L'interruption est difficile à interpréter car l'exécution ne renvoie aucune erreur. Je me retrouve simplement avec le classeur portant le code ouvert et un des fichiers vérifiés ouvert. Je n'ai pas la proposition habituelle suite à une erreur d'exécution, de débogguer le code. Je n'ai pas réussi à trouver l'origine de l'erreur ni à la reproduire sur une macro unitaire de test.

    Savez-vous s'il peut y avoir des conflits entre Excel et Powerpoint / autre application qui expliqueraient ceci?

    Est-il possible de permettre à l'utilisateur d'utiliser un autre logiciel sans que l'exécution de la macro soit perturbé?

    Merci grandement par avance,

  2. #2
    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
    Bonjour,

    Juste par curiosité, pourrais tu nous fournir ton code pc :
    Citation Envoyé par DEV_VB Voir le message
    Le temps d'attente pour l'obtention des résultats des requêtes de calcul pouvant être long (> 1 heure)
    Je ne vai pas dire que cela devrait être instantané, mais supérieur à une heure de traitement, pour ouvrir des classeur et effectuer des calculs sa me semble énorme.

    Bat

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2013
    Messages : 3
    Par défaut
    Bonjour Mfoxy,

    Merci pour ton intérêt.

    Tous les traitements que j'ai décrit sont réalisés au sein d'une seule et même procédure, de sorte à ce qu'il s'agisse au final pour l'utilisateur d'une exécution "Clic bouton - attente de résultats". Parmi ces traitements, il y a:

    • la mise à jour de classeurs "calculateurs" contenant des requêtes Power Query sur des fichiers Excel "source" parfois de 1 million de lignes, le gros du temps d'attente se situe à ce niveau là

    • l'ouverture et la fermeture de classeurs, dont notamment des classeurs "source" pour vérifier que les données respectent une structure prédéfinie. Ces classeurs source sont renseignés par l'utilisateur


    A bientôt,

  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
    Ha ouais 1million ligne lol, c est du lourd et demande donc bcp de temps de traitement et de ressource.

    Je suppose que le fichier ne doit être mis à jour qu une seule fois par jour, ou à chaque utilisation ?

    Si une seule fois par jour, se serait peut être pas mal, de lancer ta macro via le planificateur des taches Windows en dehors des heures de travail, sinon pas de solution pour toi dsl.

  5. #5
    Candidat au Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2013
    Messages : 3
    Par défaut
    Merci pour la réponse.

    En fait tout l'outil est utilisé par plusieurs dizaines d'utilisateurs. La majorité des utilisateurs ont des fichiers source qui vont faire quelques milliers de lignes, un nombre limité vont avoir des fichiers source d'un million de lignes.

    Je retiens le conseil pour ceux qui ont des volumes plus importants de programmer des tâches la nuit sur leurs postes.

    Pour les autres, par contre, même lorsque les fichiers source ne font que quelques centaines de lignes, j'ai fait le test, et je rencontre quand même le problème décrit au départ:
    Mais, j'ai constaté que, si je lance ma macro principale, et si j'utilise Powerpoint alors qu'elle tourne toujours, et seulement si j'effectue des sauvegardes manuelles d'un fichier Powerpoint en même temps, l'exécution de la macro peut s'interrompre.
    Est-ce que l'explication peut se trouver au niveau de la priorisation des tâches et d'autres éléments similaires "en dehors" de la macro, et si oui quelles vérifications pourrais-je faire pour confirmer qu'il s'agit bien de cela?

    Merci par avance,

Discussions similaires

  1. incompatibilité macros VBA excel 2000 et 2003
    Par hiline6 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/04/2007, 12h20
  2. Macro VBA Excel : Comparaison des deux 1ères colonnes de 2 fichiers Excel
    Par techneric dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/01/2007, 10h00
  3. Réponses: 17
    Dernier message: 16/08/2006, 23h16
  4. Auto install macro vba excel
    Par zootman dans le forum Installation, Déploiement et Sécurité
    Réponses: 6
    Dernier message: 14/06/2006, 21h30
  5. [VBA-E] macro VBA excel suppression graphiques
    Par totoza dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 30/05/2006, 08h45

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