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 :

Ecriture dynamique dans EXCEL depuis SAS


Sujet :

Macro

  1. #1
    Responsable SAS


    Inscrit en
    Septembre 2006
    Messages
    3 176
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 176
    Points : 16 157
    Points
    16 157
    Par défaut Ecriture dynamique dans EXCEL depuis SAS
    Bonjour,
    J'ai récupéré un fichier SAS me permettant de pouvoir écrire dynamiquement dans un fichier EXCEL ouvert depuis SAS ... mais celui-ci à quelques imperfections dont je ne connais la cause.
    Voici 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
    14
    15
    16
    17
    18
    19
    20
    21
    22
    Filename xlsfile dde 'excel|G :\test.xls!l1c1:l1c3';
     
    data MyDS;
     /* declaration de la fenêtre SAS Windows)*/
     if _n_ = 1 then do;
     	Window MaFenetre color = black
    		#3 'Ceci est la valeur de la ligne 1 colonne 1' c = cyan +2 var1 $10. c = orange;
    		#5 'Ceci est la valeur de la ligne 1 colonne 2' c = cyan +2 var2 $10. c = orange;
    		#7 'Ceci est la valeur de la ligne 1 colonne 3' c = cyan +2 var3 $10. c = orange;
     end;
     
     /* ecriture dans Excel des valeurs saisies */
     flsh = '!DDE_FLUSH';
     file xlsfile;
     do while (upcase(_cmd_) ne 'STOP');
     	display MaFenetre;
    	put var1 var2 var3 flsh;
    	ouput;
    	var1=''; var2=''; var3='';
     end;
     stop;
    run;
    La log :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    254  data MyDS;
    255   /* declaration de la fenêtre SAS Windows)*/
    256   if _n_ = 1 then do;
    257      Window MaFenetre color = black
    258          #3 'Ceci est la valeur de la ligne 1 colonne 1' c = cyan +2 var1
    258! $10. c = orange;
    259          #5 'Ceci est la valeur de la ligne 1 colonne 2' c = cyan +2 var2
                 -
                 180
    259! $10. c = orange;
    260          #7 'Ceci est la valeur de la ligne 1 colonne 3' c = cyan +2 var3
                 -
                 180
    260! $10. c = orange;
    ERREUR 180-322: Instruction incorrecte ou mal utilisée.
     
    261   end;
    262
    263   /* ecriture dans Excel des valeurs saisies */
    264   flsh = '!DDE_FLUSH';
    265   file xlsfile;
    266   do while (upcase(_cmd_) ne 'STOP');
    267      display MaFenetre;
    268      put var1 var2 var3 flsh;
    269      ouput;
             -----
             1
    AVERTISSEMENT 1-322: Symbole OUTPUT mal orthographié : ouput.
     
    270      var1=''; var2=''; var3='';
    271   end;
    272   stop;
    273  run;
    Merci d'avance pour votre aide

  2. #2
    Expert confirmé
    Avatar de olivier.decourt
    Homme Profil pro
    Formateur R/SAS/statistiques
    Inscrit en
    Avril 2008
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Formateur R/SAS/statistiques
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 064
    Points : 4 478
    Points
    4 478
    Par défaut
    Bonjour.
    Il y faut un seul point-virgule à l'instruction WINDOW.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Window MaFenetre color = black
    		#3 'Ceci est la valeur de la ligne 1 colonne 1' c = cyan +2 var1 $10. c = orange
    		#5 'Ceci est la valeur de la ligne 1 colonne 2' c = cyan +2 var2 $10. c = orange
    		#7 'Ceci est la valeur de la ligne 1 colonne 3' c = cyan +2 var3 $10. c = orange;
    Et puis plus bas, OUTPUT au lieu d'OUPUT.

    Olivier

  3. #3
    Responsable SAS


    Inscrit en
    Septembre 2006
    Messages
    3 176
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 176
    Points : 16 157
    Points
    16 157
    Par défaut
    Merci bien ça marche très bien,

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

Discussions similaires

  1. Ecriture dans Excel depuis Access (VBA)
    Par hoook dans le forum VBA Access
    Réponses: 6
    Dernier message: 14/08/2012, 16h46
  2. [EG] Ecrire dans les cellules d'une feuille Excel depuis SAS
    Par MDsas dans le forum Outils BI
    Réponses: 12
    Dernier message: 15/12/2011, 17h35
  3. [AC-2002] Créer un tableau croisé dynamique dans Excel depuis Access
    Par dut-dut dans le forum VBA Access
    Réponses: 3
    Dernier message: 29/11/2010, 13h42
  4. Afficher résultat requete dans Excel depuis Access.
    Par nighthawksf117a dans le forum Access
    Réponses: 1
    Dernier message: 12/04/2006, 23h18
  5. Ecriture dynamique dans la page actuelle
    Par fantomasmusic dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 19/04/2005, 12h23

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