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

C++ Discussion :

Problème de chemin de répertoire


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 17
    Par défaut Problème de chemin de répertoire
    Bonjour à tous,

    J'ai un fichier .exe que j'ai codé en c++ et compilé avec visual c++ express.

    Lorsque je double clic dessus, le programme s’exécute normalement mais lorsque que j'appel ce fichier via un programme en VBA sous excel il y a un problème.

    En VBA j'utilise la fonction Shell :
    Shell "C:\chemin\test9.exe", 1

    Voici le problème :
    Je demande à mon programme de me retourner le chemin complet d'un fichier excel. Lorsque je double clic sur mon fichier .exe alors il me retourne bien le chemin complet mais lorsque j'appel ce même programme via VBA alors il me retourne un chemin incomplet.

    Exemple :
    Chemin retourné en double cliquant sur l’exécutable :
    C:\Documents and Settings\Bureau\Strat2\Annexe\NomFichier

    Chemin retourné en appelant l’exécutable via VBA:
    C:\Documents and Settings\Mes documents\NomFichier

    Pour obtenir le chemin du répertoire de l'application voici mon code c++ (le fichier Excel étant dans le même répertoire que l’exécutable) :
    char CurrentPath[FILENAME_MAX];
    GetCurrentDir(CurrentPath, sizeof(CurrentPath));

    Pouvez vous, s'il vous plait, m'aider a faire en sorte que mon programme .exe ouvert a partir de VBA me renvoi bien le bon chemin.

    Merci

  2. #2
    Rédacteur
    Avatar de David55
    Homme Profil pro
    Ingénieur informatique
    Inscrit en
    Août 2010
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 1 542
    Par défaut
    Normalement si tu place ton fichier C++ au meme endroit que ton VBA cela fonctionnera!

    En effet, c'est ton fichier C++ qui va chercher le chemin (a partir de ton repertoire C++)

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 17
    Par défaut
    Merci David55

    Mais mon fichier .exe ce trouve bien dans le même répertoire que les fichier excel. C'est bien la qu'est le problème. Je ne comprend vraiment pas pourquoi lorsque j'appel l'exécutable via VBA, le programme va cherché mes fichier Excel dans un autre dossier que celui de l'exécutable.

    Le fichier .exe va donc effectué une série de tache sur les fichier Excel mais pour faire cela le code c++ à besoin d'avoir le chemin des ces fichier Excel.

    Mon Exécutable marche parfaitement seul (en double cliquant simplement dessus les tache demandé sont exécuté parfaitement sur les fichier Excel) mais si j'appel l'exécutable via VBA alors l'exécutable ne trouve pas les fichier Excel.

    Après avoir investigué sur le problème, je me suis aperçu qu'en appelant l'exécutable via VBA alors le chemin que le code c++ renvoyait n'était plus le même que lorsque je double cliquai simplement sur l'icone de mon fichier .exe.

    Chemin retourné en double cliquant sur l’exécutable (c'est le bon chemin, c'est à dire celui ou ce situ mes fichier Excel) :
    C:\Documents and Settings\Bureau\Strat2\Annexe\NomFichierExcel

    Chemin retourné en appelant l’exécutable via VBA (le chemin à changé. En appelant le fichier .exe via VBA mon exécutable à changé le chemin dans lequel il devait aller chercher mes fichier Excel):
    C:\Documents and Settings\Mes documents\NomFichierExcel

    Voila, j'espère que j'ai été un peut plus claire et que je trouverais de l'aide.

    Merci

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 17
    Par défaut
    Problème résolu :

    Il fallait ecrire le code vba suivant :

    chdir "C:\Chemin\"
    Shell "C:\chemin\test9.exe", 1

    Merci à tous

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 15/04/2013, 16h52
  2. Problème de chemin de répertoire
    Par choux22 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 12/01/2011, 16h18
  3. problème avec les chemins de répertoire
    Par psychoBob dans le forum Langage
    Réponses: 12
    Dernier message: 28/05/2006, 10h39
  4. Réponses: 17
    Dernier message: 13/07/2004, 20h37
  5. [JSP] Include, problème de chemin relatif
    Par dafly dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 15/04/2004, 14h11

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