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

Macro Discussion :

Ouverture logiciel STATA : définir le chemin d'accès à partir de SAS


Sujet :

Macro

  1. #1
    Membre averti
    Femme Profil pro
    Inscrit en
    Mars 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2013
    Messages : 23
    Par défaut Ouverture logiciel STATA : définir le chemin d'accès à partir de SAS
    Bonjour,

    J'effectue le code ci-dessous pour ouvrir le logiciel STATA à partir de SAS. Seulement, l'appel de mes macro-variables pour les différents chemin d'accès ne fonctionne pas ! Le code fonctionne parfaitement quand j'écris directement le chemin sans passer par les macro-variables quelqu'un voit-il d'où le problème peut venir ?

    Merci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    %macro fit_modele1a(cheminsave=, stata=, programme= );
    proc export data=datalong
    outfile='donnees_fit.txt'
    replace;
    run;
     
    x "cd &cheminsave.";
    x '"&stata." /e do "&programme."';
     
    %mend;
    %fit_modele1a (cheminsave=C:\SAS\fit, stata=C:\Programmes\Stata12\stataMP.exe , programme=C:\SAS\fit\programme.do );

  2. #2
    Membre Expert

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mars 2005
    Messages
    1 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 364
    Par défaut
    L'origine du problème est les simples quottes '.
    Les macros variables ne sont pas évaluées quand elles se trouves entre deux simples quottes
    Test le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    %macro fit_modele1a(cheminsave=, stata=, programme= );
    proc export DATA=datalong
    OUTFILE='donnees_fit.txt'
    REPLACE;
    run;
     
    x "cd &cheminsave.";
    x "&stata. /e do &programme.";
     
    %mend;
    %fit_modele1a (cheminsave=C:\SAS\fit, stata=C:\Programmes\Stata12\stataMP.exe , programme=C:\SAS\fit\programme.do );

  3. #3
    Membre averti
    Femme Profil pro
    Inscrit en
    Mars 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2013
    Messages : 23
    Par défaut lecture macro
    Bonjour,

    En effet, sans les simples quottes il trouve le chemin d'accès correspondant aux macros mais il n’exécute pas mon programme pour autant...
    alors que quand je remplace directement les chemins d'accès (code ci-dessous), c'est ok !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    %macro fit_modele1a(cheminsave=, stata=, programme= );
    proc export data=datalong
    outfile='donnees_fit.txt'
    replace;
    run;
     
    x "cd &cheminsave.";
    x '"C:\Program Files\Stata12\stataMP.exe" /e do "C:\IRT\SAS\fit\programme.do"';
    %mend;
    %fit_modele1a (cheminsave=C:\IRT\SAS\fit, stata=C:\Program Files\Stata12\stataMP.exe , programme=C:\IRT\SAS\fit\programme.do );
    j'ai essayé plusieurs choses mais je ne vois pas comment faire pour que cela fonctionne.

  4. #4
    Membre Expert

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mars 2005
    Messages
    1 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 364
    Par défaut
    Le problème vient de l'espace dans le chemin qu'on n'avait pas hier

    stata=C:\Programmes\Stata12\stataMP.exe
    stata=C:\Program Files\Stata12\stataMP.exe

    tu peux essayer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    x %str("&stata." /e do "&programme");

  5. #5
    Membre averti
    Femme Profil pro
    Inscrit en
    Mars 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2013
    Messages : 23
    Par défaut chemin différents
    En effet, les deux noms de chemins sont différents car je pensais que le problème venait de cet espace mais ça n'est pas le cas.
    Comme je l'ai dit dans mon post précédent, quand je remplace les macro variables par le chemin d'accès correspondant, mon programme fonctionne (même avec l'espace dans "program files") le soucis vient donc de l'insertion des macro variables.

  6. #6
    Membre Expert

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mars 2005
    Messages
    1 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 364
    Par défaut
    tu as fait le test?

    x %str("&stata." /e do "&programme");

  7. #7
    Membre averti
    Femme Profil pro
    Inscrit en
    Mars 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2013
    Messages : 23
    Par défaut Test
    Oui j'ai fait le test... malheureusement ça ne fonctionne pas !
    Mais je pense qu'on approche ...

  8. #8
    Membre Expert

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mars 2005
    Messages
    1 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 364
    Par défaut
    cette fois ci ça doit être la bonne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    x %str(%") "&stata" /e do  "&programme" %str(%");

  9. #9
    Membre averti
    Femme Profil pro
    Inscrit en
    Mars 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2013
    Messages : 23
    Par défaut Test2
    presque ... mais ça n'est pas encore correct car mon invite de commande pour exécuter le programme Stata ne se ferme pas seule alors que quand je remplace les macro variables par le chemin il n'y a pas de soucis.
    Merci !

  10. #10
    Membre Expert

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mars 2005
    Messages
    1 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 364
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    %let cmd=%str(%')"&stata" /e do "&programme"%str(%');
     X  %unquote(&cmd);

  11. #11
    Membre averti
    Femme Profil pro
    Inscrit en
    Mars 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2013
    Messages : 23
    Par défaut ok
    C'est parfait !
    cette fois, c'est la bonne.
    Merci beaucoup.

  12. #12
    Membre Expert

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mars 2005
    Messages
    1 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 364
    Par défaut
    Tu peux cliquer sur le bouton RESOLU dans ce cas

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

Discussions similaires

  1. [PPT-2010] Comment définir le chemin d'accès aux modèles de groupe ?
    Par davidroman dans le forum Powerpoint
    Réponses: 0
    Dernier message: 07/05/2012, 10h38
  2. Ouverture fichier en mode normal + Chemin d'accès au fichier à ouvrir
    Par rberniga dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/07/2010, 03h24
  3. Réponses: 4
    Dernier message: 13/05/2009, 17h07
  4. Réponses: 14
    Dernier message: 10/07/2008, 11h56
  5. définir un chemin d'accès dans loadclip
    Par sacoux dans le forum Flash
    Réponses: 8
    Dernier message: 22/04/2008, 13h55

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