h1

Plusieurs tableaux par feuille de calcul (ODS TAGSETS.EXCELXP)

août 13, 2009

Avec SAS, la syntaxe de l’ODS TAGSETS.EXCELXP permet de créer des fichiers .xls. Voici comment imprimer créer plusieurs feuilles de calculs et d’inclure dans chacune d’elle plusieurs tableaux.

1. Plusieurs feuilles de calcul

Il est possible d’ inclure plusieurs tableaux dans des feuilles de calcul différentes. C’est le cas par défaut. Le nom de chaque feuille est personnalisable avec l’option SHEET_NAME=’xxx’.

Ici deux tables sont imprimées dans deux feuilles de calcul distinctes.

ods listing close;
ods tagsets.excelxp file=‘c:/sasref/multi_sheets.xls’;

ods tagsets.excelxp options(sheet_name=‘<13 ans’);
proc print data=sashelp.class (where=(age < 13));
run;

ods tagsets.excelxp options(sheet_name=‘>=13 ans’);
proc print data=sashelp.class (where=(age >= 13));
run;

ods tagsets.excelxp close;
ods listing;

Le résultat :

xls_multi_sheets

2. Plusieurs tables dans une feuille de calcul grâce à SHEET_INTERVAL=’none’

Il est également possible d’afficher toutes les tables sur une feuille de calcul avec l’option SHEET_INTERVAL=’none’.

Ici,  deux tableaux sont affichées dans la même feuille de calcul.

ods listing close;
ods tagsets.excelxp file=‘c:/sasref/multi_tables.xls’ options(sheet_interval=‘none’ sheet_name=‘Multi Ages’);

proc print data=sashelp.class (where=(age < 13));
run;

proc print data=sashelp.class (where=(age >= 13));
run;

ods tagsets.excelxp close;
ods listing;

Le résultat :

xls_multi_tables

3. Plusieurs tableaux par feuille

Voici maintenant comment agencer le code pour mettre plusieurs tableaux sur une feuille de calcul et plusieurs autres sur une autre feuille.

Ici deux tables sont affichées dans  la première feuille et deux autres dans la seconde feuille de calcul. A chaque fois qu’une nouvelle feuille de calcul est à créer l’option SHEET_INTERVAL=’none’. Entre temps, tous les tableaux sont affichés sur la même feuille.

ods listing close;
ods tagsets.excelxp file=‘c:/sasref/multi_tables_sheets.xls’;

ods tagsets.excelxp options(sheet_name=‘<13 ans’ sheet_interval=‘none’);
proc print data=sashelp.class (where=(sex=‘M’ and age < 13));
run;
proc print data=sashelp.class (where=(sex=‘F’ and age < 13));
run;

ods tagsets.excelxp options(sheet_name=‘>=13 ans’ sheet_interval=‘none’);
proc print data=sashelp.class (where=(sex=‘M’ and age >= 13));
run;
proc print data=sashelp.class (where=(sex=‘F’ and age >= 13));
run;

ods tagsets.excelxp close;
ods listing;

Le résultat :

xls_multi_tables_sheets

Lectures complémentaires

2 commentaires

  1. Bonjour, je voudrais réaliser la même chose qu’ici , sauf que je veux que les tableaux soient côte à côte et non l’un à la suite de l’autre. Est-ce que c’est possible ?


  2. Bonjour,
    J’ai un export ods tagsets.excelxp avec un proc report pour mise en forme.
    Mon but étant de pouvoir sortir 2 tableaux sur la même feuille.
    Comment puis je le faire ? Dois je combiner le proc print et le proc report, car j’essaye mais ça me fait 2 feuilles ?

    Merci par avance;

    Thomas.



Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s

%d blogueurs aiment cette page :