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 :

executer c++ depuis vba


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Mars 2017
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur commercial
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2017
    Messages : 16
    Par défaut executer c++ depuis vba
    bonsoir tout le monde!
    svp j'ai besoin votre aide!

    bon j'ai crée un algorithme en c++ qui lit les données depuis un fichier1 texte et remplit un autre fichier2 texte
    quand je l'exécute, tout va bien

    maintenant je veut l'executer depuis vba excel j'ai utilisé la commande shell, le code vba ne genere aucune erreur mais le fichier2 reste toujours vide
    je ne sais pas pourquoi!!

    code vba
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    Sub test()
    Dim filepath As String
     
    filepath = "C:\Users\younes\Desktop\test\goo\bin\Debug\goo.exe"
    Call Shell(filepath, 1)
     
    End Sub

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonsoir,
    Sur un autre poste tu parlais de dll! Qu'est ce qui a changé dans ton choix?

  3. #3
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    bon j'ai crée un algorithme en c++ qui lit les données depuis un fichier1 texte et remplit un autre fichier2 texte
    et quels paramètres tu passes à goo.exe ?
    Je ne veux pas croire que cet exécutable contient en dur les deux chemins concernés...

  4. #4
    Membre averti
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Mars 2017
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur commercial
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2017
    Messages : 16
    Par défaut
    je passe aucun paramètre
    tout simplement le code c++ lit un fichier input.txt
    et le stocke dans un tableau et remplit un autre fichier output.txt avec ce tableau
    quand j'exécute le code ça marche bien
    mais quand je fais l'appel avec la fonction shell depuis vba le fichier output.txt reste toujours vide

    Citation Envoyé par dysorthographie Voir le message
    Bonsoir,
    Sur un autre poste tu parlais de dll! Qu'est ce qui a changé dans ton choix?
    malheureusement j'ai pas pu le faire avec dll

    après avoir effectué des test
    j'ai constaté que la fonction shell ça marche bien ,elle execute le code
    mais le problème c'est que mon code n'arrive à lire le fichier input.txt pour cela le fichier output.txt reste toujours vide
    pourquoi!!????????

  5. #5
    Invité
    Invité(e)
    Par défaut
    Shell exécuté un fichier exécutable sens tenir compte du répertoire courant de ce fichier!

    Soit tu change le répertoire courant de vba soit utilises shellExecute jm(Api)!

    Pourquoi voulais tu utiliser une dell ou C++ car vba fait ça très bien mais tu as certainement une bonne raisons?

  6. #6
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour Robert
    mais tu as certainement une bonne raisons?
    "bonne", je ne sais pas ... "exemple imposé", plus vraisemblablement ...
    A la clef (assez probablement) : une note ("méritée") obtenue pour un exemple d'application ... C'est peut-être là, la "bonne raison" ...
    Me trompe-je ?

  7. #7
    Membre averti
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Mars 2017
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur commercial
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2017
    Messages : 16
    Par défaut
    Citation Envoyé par dysorthographie Voir le message
    Shell exécuté un fichier exécutable sens tenir compte du répertoire courant de ce fichier!

    Soit tu change le répertoire courant de vba soit utilises shellExecute jm(Api)!

    Pourquoi voulais tu utiliser une dell ou C++ car vba fait ça très bien mais tu as certainement une bonne raisons?
    car le temps d'exécution en vba est trop trop long
    j'ai programmé le problème de voyageur de commerce en vba avec l'algorithme génétique mais quand j'augmente le nombre de clients à visiter le temps d'exécution devient trop long

    j'ai utilisé executeshell mais aucun changement toujours le meme problème

  8. #8
    Invité
    Invité(e)
    Par défaut
    Dans une autre discutions tu expose ton problème de lenteur vba, mais sens exposé concrètement le problème comme si les dés étaient jeté et que c++ était vraiment la solution ????

    Amitié unparia.

  9. #9
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Avec quel C++ ? Parce que suis à peu près certain qu'avec le VC++ de Visual Studio que tu faire tous tes calculs en C++ et envoyer les résultats dans Excel après. Et ce ne sont pas les moyens qui manquent.

    Si tu travailles comme indépendant, ou dans une petite boîte (5 programmeurs ou moins) tu peux avoir Visual Studio Community gratuitement, et même l'utiliser gratuitement pour des applications commerciales. Et avec VS Community, tu peux même faire des applications (complément, add-in add-on etc.) pour Excel.

  10. #10
    Membre averti
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Mars 2017
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur commercial
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2017
    Messages : 16
    Par défaut
    je travaille avec c++ code block 13.12

  11. #11
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Citation Envoyé par dysorthographie Voir le message
    comme si les dés étaient jeté et que c++ était vraiment la solution ????
    Ben, je dirais que pour appliquer un algorithme itératif, à peu n'importe quel langage compilé peut battre VBA.

  12. #12
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Oui Clément tu as raison,un langage compilé sera toujours plus rapide.

    Mais si il fait du input ouput lignes par lignes il ne réduiras pas les accès disque!
    Alors que bufferiser tout le fichier ne fait qu'un seule accès disque !

    Ici ,à mon avis,il n'est pas question de langage mais de raisonnement!

    Vba est suffisamment rapide pour faire des grandes choses.

    Utiliser un langage compilé je le fais très souvent!

    Pour moi Excel contient le rendue d'un traitement mais en aucun cas l'auteur du traitement!

    si tu uplodais un fichier texte en exemple en bidonnant les données confidentiel en expliquant ce que tu veux y extraire et sous quel format tu veux le sauvegarder?
    Dernière modification par Invité ; 02/05/2017 à 09h24.

Discussions similaires

  1. Executer une macro vba depuis un projet vb.net ?
    Par spookyz dans le forum VB.NET
    Réponses: 3
    Dernier message: 18/12/2010, 10h00
  2. Executer du code VBA depuis Access
    Par skyarnangel dans le forum VBA Access
    Réponses: 8
    Dernier message: 23/02/2009, 14h28
  3. Executer macro complémentaire depuis VBA
    Par Martin_77 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 04/12/2008, 00h07
  4. Execution requête depuis VBA
    Par Tiresia dans le forum Sybase
    Réponses: 1
    Dernier message: 20/06/2007, 09h00
  5. [Système]executer un fichier parametré depuis VBA
    Par delphine_lep dans le forum Access
    Réponses: 2
    Dernier message: 23/03/2007, 08h55

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