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 :

Execution d'un .exe dans du VBA [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2010
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 206
    Par défaut Execution d'un .exe dans du VBA
    Bonjour,

    j'ai un bug de fonctionnement dans un programme écrit en vba sous excel qui appelle un executable :

    en fin de programme l'executable mets à jour un journal d'historisation. Dans mon programme en vba, après l'appel de l'exe, je viens lire le journal en question pour pouvoir exploiter le résultat mis dans ce journal en dernière ligne. Or, la dernière ligne que je récupère correspond en fait à la dernière ligne avant que l'exe ne modifie le programme !!??!!
    Il faut que je mette une tempo de 2 secondes pour que le journal soit exploitable ! C'est comme si l'executable se déroulait en parallèle de mon vba.

    Est-ce bien comme cela que les opérations se déroulent ?
    Et dans ce cas est-il possible de lancer un executable avec une instruction qui force un déroulement séquentiel : le retour dans le vba n'est réalisé que lorsque l'exe est fini ?

    Merci pour vos réponses
    Taiby

  2. #2
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 563
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 563
    Par défaut
    Bonjour

    Le VBA n'attend pas et ne reçoit pas d'acquittement de la part de l'exe. Il continue donc son déroulement.

    Soit il faut passer par du VB qui lui permet qu'un programme en attende un autre (je sais que cela existe mais je ne sais pas faire) ou bien trouver des contournements : tester la date et l'heure du fichier journal avant la ligne qui lance l'exe et attendre tant que l'heure n'a pas changé par exemple (sous réserve que l'ouverture du fichier ne modifie pas l'heure)...

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2010
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 206
    Par défaut
    Merci pour cette réponse rapide, cela confirme bien ce que je pensais concernant l'exécution de l'exe.

    J'ai donc fait comme tu me l'as conseillé, j'ai travaillé sur la date d'enregistrement du fichier (avec FileDateTime) et cela fonctionne aux petits oignons.

    Merci encore

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 18/09/2012, 16h17
  2. Réponses: 2
    Dernier message: 19/01/2008, 15h11
  3. Réponses: 1
    Dernier message: 05/10/2006, 17h21
  4. [VBA-E] executer un fichier exe
    Par darkman10 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 15/05/2006, 16h52
  5. Informations sur un exe (dans les propriétés windows)
    Par SteelBox dans le forum Windows
    Réponses: 6
    Dernier message: 06/07/2004, 18h20

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