Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > SAS > Macro
Macro Forum d'entraide sur le langage Macro de SAS
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/07/2008, 11h06   #1
Responsable SAS
 
Inscription : septembre 2006
Messages : 1 973
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 1 973
Points : 4 810
Points : 4 810
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 :
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 :
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
__________________
Les balises code
FAQ SAS
Rubrique SAS

Si vous souhaitez contribuer à la rubrique SAS, contactez-moi ou tout autre membre de l'équipe BI par MP.
fafabzh6 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2008, 11h23   #2
Expert Confirmé
 
Avatar de olivier.decourt
 
Homme Olivier Decourt
Formateur en informatique
Inscription : avril 2008
Messages : 1 482
Détails du profil
Informations personnelles :
Nom : Homme Olivier Decourt
Âge : 34
Localisation : France

Informations professionnelles :
Activité : Formateur en informatique
Secteur : Conseil

Informations forums :
Inscription : avril 2008
Messages : 1 482
Points : 2 866
Points : 2 866
Bonjour.
Il y faut un seul point-virgule à l'instruction WINDOW.
Code :
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
olivier.decourt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2008, 11h42   #3
Responsable SAS
 
Inscription : septembre 2006
Messages : 1 973
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 1 973
Points : 4 810
Points : 4 810
Merci bien ça marche très bien,
__________________
Les balises code
FAQ SAS
Rubrique SAS

Si vous souhaitez contribuer à la rubrique SAS, contactez-moi ou tout autre membre de l'équipe BI par MP.
fafabzh6 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h14.


 
 
 
 
Partenaires

Hébergement Web