IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

FAQ SASConsultez toutes les FAQ

Nombre d'auteurs : 14, nombre de questions : 232, dernière mise à jour : 20 décembre 2012 

 
OuvrirSommaireODS et ReportingSAS EXCEL
 
Sélectionnez

%macro ouvre_excel;
options noxwait noxsync;
%LET tit1=%str(C:\)
%LET tit2=%str(classeur1.xls);
%LET titre=%str("&tit1&tit2);
 
X &titre;
 
data _null_;
rc = sleep(2);
run;
%mend;
%ouvre_excel;
Créé le 1er mars 2008  par fafabzh6

Avant toute chose, il faut ouvrir le fichier Excel (cf. : comment ouvrir une feuille Excel).

 
Sélectionnez

DATA bidon1; 
input X1 X2 Y1 Y2 X5 $; 
cards;
78 5 5 1161 ABÉLIEN
35 6 3 1336 ALMÉRIC
82 1 5 1499 ANIEL
;
run;
%LET tit1=%str(excel|D:\blablbla\[Traitement_ACN.xls]P0IC1625!L6C1);
%LET tit2=%str(:L20C10);
%LET titre=%str(%sysfunc(compress('&tit1&tit2')));
options mprint symbolgen;
filename write1 DDE "&titre";
DATA _null_;
file WRITE;
SET work.bidon1;
put X1 '09'x X2 '09'x Y1 '09'x Y2 '09'x X5 '09'x;
run;
/*"'09'x" correspond au caractère tabulation*/

Ce programme copie les données de la table bidon1 dans la feuille1 du fichier classeur1.xls sur les cellules allant de L1C1 à L20C10.

Mis à jour le 17 juillet 2008  par fafabzh6

On est censé lire les données depuis l1c1 jusqu'à l15c2. En réalité, les données vont de l5c1 jusqu'à l9c2.
'09'x est la valeur hexadécimale de la tabulation.
NOTAB informe SAS de ne pas convertir les tabulations en valeurs manquantes.
DSD informe SAS que deux délimiteurs consécutifs doivent être considérés comme une valeur manquante.
MISSOVER informe SAS de ne pas aller à la ligne s'il trouve une valeur manquante.

 
Sélectionnez

Filename fic dde 'excel|c:\exemples\essaidde.xls!l1c1:l15c2';
 
DATA FromXL
INFILE fic dlm='09'x notab dsd missover
input miles kilometres
run;
Créé le 10 octobre 2008  par oncle_pete
 
Sélectionnez

Filename xlsfile dde 'excel|G :\test.xls!l1c1:l1c3';
 
DATA MyDS;
/* déclaration 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;
 
/* écriture dans Excel des valeurs saisies */
flsh = '!DDE_FLUSH';
file xlsfile;
do while (upcase(_cmd_) ne 'STOP');
display MaFenetre;
put var1 var2 var3 flsh;
output;
var1=''; var2=''; var3='';
end;
stop;
run;
Créé le 10 octobre 2008  par oncle_pete

Le macroprogramme ci-dessous exporte chaque membre de type DATA d'une bibliothèque.
Liste des paramètres :
· MYLIB : nom de la bibliothèque où sont stockées les tables SAS ;
· MYDIR : nom du répertoire où seront stockés les fichiers MS Excel.

 
Sélectionnez

%MACRO M_EXPORT (MyLib=, MyDir=);
     data _null_ ;
       set sashelp.vtable (where=(libname=compress(upcase("&MyLib")))) ;
       call execute
         ("PROC EXPORT DATA=" !! compress(libname !! '.' !!memname)
             !! " OUTFILE='&MyDir" !! compress(memname !! ".XLS'")
             !! " DBMS=EXCEL2000 REPLACE ; RUN ;") ;
     run ;
%MEND M_EXPORT; 

Pour exporter des données vers Excel avec la procédure EXPORT, il est nécessaire d'avoir une licence pour le module SAS/Access to PC File Formats.

Créé le 10 octobre 2008  par SAS

Utiliser la fonction USEDATE= NO, comme dans l'exemple ci-dessous :

 
Sélectionnez

proc import out=matable datafile='c:\fichierExcel.xls';
usedate=no;
run ;

Remarques
- Par défaut, USEDATE=YES : les dates seront importées en format « date9. ».
- USEDATE=NO : les dates seront importées, comme en version 8.2, à savoir en format « datetime. ».

Créé le 10 octobre 2008  par SAS
  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2011 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.