<?xml version="1.0" encoding="ISO-8859-1"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title>Forum du club des développeurs et IT Pro - Blogs - m.brahim</title>
		<link>https://www.developpez.net/forums/blogs/445916-m-brahim/</link>
		<description>Developpez.com, le Club des Développeurs et IT Pro</description>
		<language>fr</language>
		<lastBuildDate>Thu, 30 Apr 2026 14:36:35 GMT</lastBuildDate>
		<generator>vBulletin</generator>
		<ttl>15</ttl>
		<image>
			<url>https://forum.developpez.be/images/misc/rss.jpg</url>
			<title>Forum du club des développeurs et IT Pro - Blogs - m.brahim</title>
			<link>https://www.developpez.net/forums/blogs/445916-m-brahim/</link>
		</image>
		<item>
			<title>SQL-Etape data</title>
			<link>https://www.developpez.net/forums/blogs/445916-m-brahim/b6519/sql-etape-data/</link>
			<pubDate>Tue, 06 Nov 2018 13:53:07 GMT</pubDate>
			<description>Bonjour, 
Je partage cet...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">Bonjour,<br />
Je partage cet article qui est intéressant:<br />
<a href="https://www.lexjansen.com/scsug/2007/data/Data-Boudreaux.pdf" target="_blank"> Article </a><br />
Cordialement</blockquote>

]]></content:encoded>
			<dc:creator>m.brahim</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/445916-m-brahim/b6519/sql-etape-data/</guid>
		</item>
		<item>
			<title>Création macros variables avec chaines de caractères et point virgule</title>
			<link>https://www.developpez.net/forums/blogs/445916-m-brahim/b6295/creation-macros-variables-chaines-caracteres-point-virgule/</link>
			<pubDate>Thu, 04 Oct 2018 10:15:41 GMT</pubDate>
			<description>Bonjour , 
 
Je partage cette...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">Bonjour ,<br />
<br />
Je partage cette solution:<br />
 <br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code  :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:204px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br /></div></td><td valign="top"><pre style="margin: 0">%macro tt();
data _null_;
set sashelp.class;
call symputx ('name'||left(_n_),catt(name,';') );
call symput ('nbr',_n_);
run;


%do i=1 %to &amp;nbr;
%global  nname&amp;i;
%let nname&amp;i=%SUPERQ(name&amp;i);

%end
%end;
%mend;

%tt;</pre></td></tr></table></pre>
</div>Cordialement</blockquote>

]]></content:encoded>
			<dc:creator>m.brahim</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/445916-m-brahim/b6295/creation-macros-variables-chaines-caracteres-point-virgule/</guid>
		</item>
		<item>
			<title><![CDATA[Utilisation de l'opérateur IN et NOT IN dans une macro]]></title>
			<link>https://www.developpez.net/forums/blogs/445916-m-brahim/b6006/utilisation-l-operateur-in-not-in-macro/</link>
			<pubDate>Thu, 23 Aug 2018 09:52:46 GMT</pubDate>
			<description>Bonjour, 
 
Je partage cette...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">Bonjour,<br />
<br />
Je partage cette vidéo sur l'usage de l'opérateur IN et NOT IN dans une macro:<br />
<br />
<br />
<a href="https://amadeus.co.uk/sas-tips/using-the-in-operator-with-the-macro-language-in-sas-92" target="_blank">Video</a><br />
<br />
<br />
Cordialement</blockquote>

]]></content:encoded>
			<dc:creator>m.brahim</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/445916-m-brahim/b6006/utilisation-l-operateur-in-not-in-macro/</guid>
		</item>
		<item>
			<title><![CDATA[Réduction le nombre de colonnes d'une table si nécessaire]]></title>
			<link>https://www.developpez.net/forums/blogs/445916-m-brahim/b5992/reduction-nombre-colonnes-d-table-necessaire/</link>
			<pubDate>Wed, 22 Aug 2018 09:34:11 GMT</pubDate>
			<description>Bonjour, 
 
Je partage avec...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">Bonjour,<br />
<br />
Je partage avec vous ce code qui a pour but de réduire si nécessaire le nombre de colonnes d'une table.<br />
<br />
L'étape 1 : Décaler les données vers la gauche de la table <br />
<br />
Etape 2: Supprimer les colonnes vides.<br />
<br />
<br />
<br />
<br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code  :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:204px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br /></div></td><td valign="top"><pre style="margin: 0">
data tab1;
input id x1 x2 x3 x4 x5;
cards;
1 3 2 2 . 1
1 . 1 1 3 2
1 9 . 3 9 6
1 8 . 7 3 2
1 8 2 . 6 .
1 6 5 . . 9
2 1 3 . 8 . 
2 2 5 8 . .
2 3 3 11 . .
2 4 3 9 . 10
;
run;


/*Etape 1*/

data tab2(drop=rc i j);
set tab1;
array X(*) x:;
do i=1 to dim(x);
   if x(i)=. then do;
   rc=i;
   do j=rc to dim(x);
   if x(j) ne . then do;
   x(i)=x(j);
   x(j)=.;
   leave;
 
   end;  
  end;
 end;
end;
run;

/*Etape 2*/

ods select none;
ods output nlevels=tab3;
proc freq data=tab2 nlevels;
 tables _all_;
run;
proc sql;
 select tablevar into : drop separated by ','
  from tab3
   where NNonMissLevels=0;
   
  alter table tab2
   drop &amp;drop; 
quit;</pre></td></tr></table></pre>
</div>Cordialement</blockquote>

]]></content:encoded>
			<dc:creator>m.brahim</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/445916-m-brahim/b5992/reduction-nombre-colonnes-d-table-necessaire/</guid>
		</item>
		<item>
			<title>Comparer deux chaines de caractère entre elles et extraire les caractères différents</title>
			<link>https://www.developpez.net/forums/blogs/445916-m-brahim/b1726/comparer-chaines-caractere-entre-extraire-caracteres-differents/</link>
			<pubDate>Thu, 10 Nov 2016 12:22:36 GMT</pubDate>
			<description>Bonjour, 
Je souhaite...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">Bonjour,<br />
Je souhaite partager cette solution avec vous:<br />
<br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code SAS :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:204px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
<span style="color: #0000ff;font-weight: bold;">data</span> test;
 <span style="color: #0000ff;">input</span> @<span style="color: #cc66cc;">1</span> id $<span style="color: #cc66cc;">3.</span>
 @<span style="color: #cc66cc;">5</span> <span style="color: #0000ff;">var</span> $<span style="color: #cc66cc;">5.</span>;
datalines;
<span style="color: #cc66cc;">001</span> acbf
<span style="color: #cc66cc;">002</span> abxde
<span style="color: #cc66cc;">003</span> 12cce
<span style="color: #cc66cc;">004</span> abc e
; <span style="color: #0000ff;font-weight: bold;">run</span>;
&nbsp;
<span style="color: #0000ff;font-weight: bold;">data</span> test1<span class="br0">&#40;</span><span style="color: #0000ff;">drop</span>=i ver diff_car
           <span style="color: #0000ff;">rename</span>=<span class="br0">&#40;</span>diff_car1=diff_car<span class="br0">&#41;</span><span class="br0">&#41;</span>;
		   <span style="color: #0000ff;">retain</span> id <span style="color: #0000ff;">var</span> ref diff_car;
<span style="color: #0000ff;">set</span> test;
<span style="color: #0000ff;">length</span> diff_car1 $<span style="color: #cc66cc;">10.</span>;
<span style="color: #0000ff;">retain</span> diff_car1;
<span style="color: #0000ff;">by</span> id;
<span style="color: #0000ff;">if</span> first.id <span style="color: #0000ff;">then</span> <span style="color: #0000ff;">do</span>;
diff_car1=<span style="color: #FF0000;">&quot;&quot;</span>;
<span style="color: #0000ff;">end</span>;
<span style="color: #0000ff;">do</span> i=<span style="color: #cc66cc;">1</span> to <span style="color: #0000ff;">length</span><span class="br0">&#40;</span><span style="color: #0000ff;">var</span><span class="br0">&#41;</span>;
ref=<span style="color: #FF0000;">'abc'</span>;
diff_car=char<span class="br0">&#40;</span><span style="color: #0000ff;">var</span>,i<span class="br0">&#41;</span>;
ver=<span style="color: #0000ff;">verify</span><span class="br0">&#40;</span>diff_car,ref<span class="br0">&#41;</span>;
<span style="color: #0000ff;">if</span> diff_car=<span style="color: #FF0000;">' '</span> <span style="color: #0000ff;">then</span> diff_car=<span style="color: #FF0000;">&quot;~&quot;</span>;
<span style="color: #0000ff;">if</span> ver=<span style="color: #cc66cc;">1</span> <span style="color: #0000ff;">then</span> diff_car1=catx<span class="br0">&#40;</span><span style="color: #FF0000;">','</span>,diff_car1,diff_car<span class="br0">&#41;</span>;
<span style="color: #0000ff;">end</span> ;
<span style="color: #0000ff;font-weight: bold;">run</span>;</pre></td></tr></table></pre>
</div><br />
Cordialement</blockquote>

]]></content:encoded>
			<dc:creator>m.brahim</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/445916-m-brahim/b1726/comparer-chaines-caractere-entre-extraire-caracteres-differents/</guid>
		</item>
		<item>
			<title>Certification des Talents de la programmation In Memory Statistics</title>
			<link>https://www.developpez.net/forums/blogs/445916-m-brahim/b1042/certification-talents-programmation-in-memory-statistics/</link>
			<pubDate>Thu, 21 Jan 2016 12:30:52 GMT</pubDate>
			<description><![CDATA[Bonjour, 
 
J'ai Participé au...]]></description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">Bonjour,<br />
<br />
J'ai Participé au programme d’échange, d’auto-apprentissage et de la programmation In-Memory Statistics sur HADOOP proposé par le Groupe AVISIA, SAS Académique et le support technique de l’EISTI.<br />
Ce programme m'a permis d'apprendre en premier lieu: les concepts de BIG DATA, les traitements parallélisés et le langage de programmation SAS In-Memory Statistics.<br />
J'ai obtenu une certification avancée dans la programmation In-Mermory Statistics.<br />
<a href="http://talents-imstat.groupe-avisia.fr/users/mansouribrahim" target="_blank">http://talents-imstat.groupe-avisia....mansouribrahim</a><br />
<br />
Cordialement</blockquote>

]]></content:encoded>
			<dc:creator>m.brahim</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/445916-m-brahim/b1042/certification-talents-programmation-in-memory-statistics/</guid>
		</item>
		<item>
			<title><![CDATA[[SAS]: Sélection fichiers dans un répertoire windows suivant: extension, date modification]]></title>
			<link>https://www.developpez.net/forums/blogs/445916-m-brahim/b717/sas-selection-fichiers-repertoire-windows-suivant-extension-date-modification/</link>
			<pubDate>Wed, 02 Sep 2015 09:36:54 GMT</pubDate>
			<description>Bonjour, 
 
Je partage cette...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">Bonjour,<br />
<br />
Je partage cette solution:<br />
<br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code  :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:204px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br /></div></td><td valign="top"><pre style="margin: 0">%macro modif(rep=,type=,date=);

PROC FORMAT;
VALUE $mois
'janvier'=01
'fevrier'=02
'mars'=03
'avril'=04
'mai'=05
'juin'=06
'juillet'=07
'août'=08
'septembre'=09
'octobre'=10
'novembre'=11
'decembre'=12;
run;


DATA test  (keep=name date_mod cr_date Bytes);
rc=filename (&quot;rep&quot;,&quot;&amp;rep&quot;);

   dirid = DOPEN(&quot;rep&quot;) ;
	
         	DO i=1 TO DNUM(dirId) ;
	    
		  rc = FILENAME(&quot;fic&quot;, TRIM(&quot;&amp;rep.\&quot;)!!LEFT(DREAD(dirid,i))) ;
                  name=dread(dirid,i);
		          
                        if index( name, &quot;&amp;type.&quot;) then do ;
                          fid = FOPEN(&quot;fic&quot;) ;
	                     date=finfo(fid,'Last Modified');
		             LastModJ=input(SCAN(Date ,1,&quot; &quot;),best.);
                             mois=SCAN(Date ,2,&quot; &quot;);
                             LastModM=input( put(mois,mois.),best.);
                             LastModA=input(SCAN(Date ,3,&quot; &quot;),best.) ;
		             date =mdy(LastModM,LastModJ,LastModA);
		             datelast=input(compress(date),best.);
			     date_mod=put(datelast,date9.);
		
		                   if datelast&gt;=&quot;&amp;date.&quot;d then do;
                                      Bytes=finfo(fid,'File Size (bytes)');                                                                                  
                                      cr_date=finfo(fid,'Create Time');
		                      output;
          	                   end;
                        fid = fclose( fid ) ;
                   END ;
	 END;
    rc = DCLOSE(dirId) ;
RUN ; 
filename rep clear;

%mend;

*/Exemple/*
%modif(rep=C:\temp,type=txt,date=01aug2015);</pre></td></tr></table></pre>
</div>Cordialement<br />
Cordialement</blockquote>

]]></content:encoded>
			<dc:creator>m.brahim</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/445916-m-brahim/b717/sas-selection-fichiers-repertoire-windows-suivant-extension-date-modification/</guid>
		</item>
		<item>
			<title><![CDATA[[IMPORT FICHIERS CSV]: Input colonnes sélectionnées]]></title>
			<link>https://www.developpez.net/forums/blogs/445916-m-brahim/b675/import-fichiers-csv-input-colonnes-selectionnees/</link>
			<pubDate>Fri, 07 Aug 2015 14:07:40 GMT</pubDate>
			<description>Bonjour, 
 
Je partage cette...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">Bonjour,<br />
<br />
Je partage cette solution:<br />
<br />
<br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code  :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:192px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br /></div></td><td valign="top"><pre style="margin: 0">

%macro pipe(cmd);

filename tmp pipe &amp;cmd;

data want ;

  infile tmp   firstobs=2;
  input var1 $ var2 $ ;
run;
%mend;

%pipe('FOR /F &quot;tokens=1,2 delims=, &quot; %i in (c:\sas\fichier.csv) do @echo %i %j');</pre></td></tr></table></pre>
</div>Cordialement</blockquote>

]]></content:encoded>
			<dc:creator>m.brahim</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/445916-m-brahim/b675/import-fichiers-csv-input-colonnes-selectionnees/</guid>
		</item>
		<item>
			<title><![CDATA[Création d'archive avec ODS package]]></title>
			<link>https://www.developpez.net/forums/blogs/445916-m-brahim/b672/creation-d-archive-ods-package/</link>
			<pubDate>Wed, 05 Aug 2015 15:43:58 GMT</pubDate>
			<description>Bonjour, 
 
Je partage ces...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">Bonjour,<br />
<br />
Je partage ces méthodes:<br />
<br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code  :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:204px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br />57<br />58<br />59<br />60<br />61<br />62<br />63<br />64<br />65<br />66<br />67<br />68<br />69<br />70<br />71<br />72<br />73<br />74<br />75<br />76<br />77<br /></div></td><td valign="top"><pre style="margin: 0">
/*Creation d'une archive*/

/*ods tagsets excelxp*/

%let date=&amp;sysdate;

ods package open nopf;

   ods tagsets.excelxp 
   style=styles.sasweb 
   file=&quot; c:\sas\BASEUL&amp;sysdate..xls&quot; package;

ods listing close;

ods tagsets.excelxp options (sheet_name = ' apprentis ' sheet_interval=&quot;none&quot; autofit_height = 'yes' );
proc report data=sashelp.class nowd
style(column) =	[cellwidth = 2.5 cm
just = c
vjust = m]
style (header) =	[just = c
vjust = m ];
title ;
column name age sex weight height;
define name / &quot;name&quot; style(column)= [cellwidth = 2cm]; ;
define age / &quot; age &quot; style(column)= [cellwidth = 5cm];
define sex / &quot;Sex&quot; ;
define weight / &quot;weight&quot; ;
define height / &quot;height&quot; ;
 
run; 
 
ods tagsets.excelxp close;
ods package publish archive properties (archive_name=&quot;dossier.zip&quot;
archive_path=&quot;c:\sas\&quot;); 
ods package close clear;


/*Ods html*/

ods listing close;
goptions dev=gif xpixels=480 ypixels=320;
	
ods package open;
ods html package;

proc gplot data=sashelp.class;
     plot height*weight;
     by name;
 run;
 quit;    

ods html close;
ods package publish archive properties(archive_name=&quot;SimpleExample.zip&quot; archive_path=&quot;c:\sas\&quot;);
ods package close;

ods listing;
 


/*Création archive en ajoutant fichiers*/

filename newtxt &quot;c:\sas\dossier\test.txt&quot;;
filename newexcel &quot;c:\sas\dossier\test.xls&quot;;
filename new &quot;c:\sas\dossier\report.xls&quot;;
ods package(newzip) open nopf;
ods package(newzip) add file=newexcel path=&quot;Excel/&quot;;
ods package(newzip) add file=new path=&quot;Excel/&quot;;
ods package(newzip) add file=newtxt path=&quot;txt/&quot;;
ods package(newzip) publish archive 
  properties(
   archive_name=&quot;test.zip&quot; 
   archive_path=&quot;c:\sas\dossier\&quot;
  );
ods package(newzip) 

close;</pre></td></tr></table></pre>
</div>Cordialement</blockquote>

]]></content:encoded>
			<dc:creator>m.brahim</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/445916-m-brahim/b672/creation-d-archive-ods-package/</guid>
		</item>
		<item>
			<title><![CDATA[Mise à jour d'un fichier excel zippé]]></title>
			<link>https://www.developpez.net/forums/blogs/445916-m-brahim/b671/mise-jour-d-fichier-excel-zippe/</link>
			<pubDate>Wed, 05 Aug 2015 15:39:44 GMT</pubDate>
			<description>Bonjour, 
 
Je partage cette...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">Bonjour,<br />
<br />
Je partage cette solution :<br />
<br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code  :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:204px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br />57<br /></div></td><td valign="top"><pre style="margin: 0">

/*Mise à jour d'un fichier Excel zippé*/



%macro package(name,rep);


/*Extraction de données */

%sysexec &quot;C:\Program Files (x86)\WinRAR\WinRAR.exe&quot; e &quot;&amp;rep.\test.zip&quot; &quot;&amp;rep.&quot; -r;

 data _null_;
 x=sleep(5);
 run;


/*Table mise à jour*/

data class;
set sashelp.class;
if _n_ in (1,2,3);
run;
 

proc export data =class
 OUTFILE= &quot;&amp;rep.\&amp;name..xls&quot;
 DBMS=EXCEL REPLACE;
 SHEET=&quot;test&quot;;
 run;


/*Mise à jour du package*/

filename &amp;name &quot;&amp;rep.\&amp;name..xls&quot;;
ods package(newzip) open nopf;
ods package(newzip) add file=&amp;name path=&quot;Excel/&quot;;
ods package(newzip) publish archive 
  properties(
   archive_name=&quot;test.zip&quot; 
   archive_path=&quot;&amp;rep.&quot;
  );
ods package(newzip) 

close;

option noxwait xsync;


%sysexec DEL &quot;&amp;rep.\&amp;name..xls&quot; ;
 
FILENAME &amp;name. CLEAR ;

%mend;

%package(test,c:\sas\dossier);</pre></td></tr></table></pre>
</div>Cordialement</blockquote>

]]></content:encoded>
			<dc:creator>m.brahim</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/445916-m-brahim/b671/mise-jour-d-fichier-excel-zippe/</guid>
		</item>
		<item>
			<title>Optimisation espace disque</title>
			<link>https://www.developpez.net/forums/blogs/445916-m-brahim/b648/optimisation-espace-disque/</link>
			<pubDate>Fri, 17 Jul 2015 17:16:26 GMT</pubDate>
			<description>Bonjour, 
 
Je partage ce...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">Bonjour,<br />
<br />
Je partage ce code avec vous:<br />
<br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code  :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:204px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br /></div></td><td valign="top"><pre style="margin: 0">
option symbolgen mprint;

%macro optimisation(lib=);

proc contents data=&amp;lib.._all_ out=tt.tables (keep=memname)  noprint;
run;

proc sort data=tt.tables nodup; by memname; run;

%macro opt(memname=);
proc contents data=&amp;lib..&amp;memname. out=tt.tt1 noprint;
run;

data tt.tt1 (where=(type=2));
set tt.tt1;
run;

data _null_;
set tt.tt1 end=last;
call symputx ('nn'||left(_n_),name);
IF last then call symputx('cnt',_n_);
run;

data _null_;
%do i=1 %to &amp;cnt;
  %global val&amp;i;
  proc sql;
  select max(length(&amp;&amp;nn&amp;i)) into: val&amp;i from &amp;lib..&amp;memname.;
  quit;
 %end; 
  run;
  data _null_;
  %do i=1 %to &amp;cnt;
  proc sql noprint;
  alter table &amp;lib..&amp;memname.
  modify &amp;&amp;nn&amp;i char(&amp;&amp;val&amp;i.) format=$%sysfunc(trim(&amp;&amp;val&amp;i.)). informat=$%sysfunc(trim(&amp;&amp;val&amp;i.)). ;
  %end;
  run;

%mend;

data _null_;
set tt.tables;
call execute('%nrstr(%opt(memname='||strip(memname)||'));');
run;
%mend;

%optimisation(lib=work);</pre></td></tr></table></pre>
</div>Cordialement</blockquote>

]]></content:encoded>
			<dc:creator>m.brahim</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/445916-m-brahim/b648/optimisation-espace-disque/</guid>
		</item>
		<item>
			<title>Quelques opérations  SAS avec la  macro %Windows</title>
			<link>https://www.developpez.net/forums/blogs/445916-m-brahim/b647/quelques-operations-sas-macro-windows/</link>
			<pubDate>Fri, 17 Jul 2015 15:16:09 GMT</pubDate>
			<description>Bonjour, 
 
Je partage avec...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">Bonjour,<br />
<br />
Je partage avec vous ce code:<br />
<br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code  :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:204px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br />57<br />58<br />59<br />60<br />61<br />62<br />63<br />64<br />65<br />66<br />67<br />68<br />69<br />70<br />71<br />72<br />73<br />74<br />75<br />76<br />77<br />78<br />79<br />80<br /></div></td><td valign="top"><pre style="margin: 0">
libname sasref 'C:/sas';

options sasmstore=sasref mstored;

%macro operation() /store;
 %global mv_ope;
 %window w_saisie color=cyan COLUMNS=40 rows=12 icolumn=30 irow=15
    #2 @5 &quot;Opération souhaitée  :&quot; @30 mv_ope 100 required=yes;
    %display w_saisie;
 run;
%mend;

%macro saisi_import() /store;
 %global mv_DATAFILE mv_out mv_sheet;
 %window w_saisie color=cyan COLUMNS=100 rows=12 icolumn=30 irow=15
    #2 @1 &quot;path  :&quot; @10 mv_DATAFILE 100 required=yes
	#5 @1 &quot;table  :&quot; @10 mv_out 100 required=yes
	#7 @1 &quot;Feuile  :&quot; @10 mv_sheet 100 required=yes;
    %display w_saisie;
 run;
%mend;

%macro saisi_export() /store;
 %global mv_data mv_file mv_sheet;
 %window w_saisie color=cyan COLUMNS=100 rows=12 icolumn=30 irow=15
    #2 @1 &quot;table:&quot; @10 mv_data  100 required=yes
	#5 @1 &quot;chemin  :&quot; @10 mv_file 100 required=yes
	#7 @1 &quot;Feuile  :&quot; @10 mv_sheet 100 required=yes;
    %display w_saisie;
 run;
%mend;

%macro saisi_tri() /store;
 %global mv_data mv_out mv_by;
 %window w_saisie color=cyan COLUMNS=100 rows=12 icolumn=30 irow=15
    #2 @1 &quot;table_ent  :&quot;    @15 mv_data 100 required=yes
	#5 @1 &quot;table_sor:&quot;      @15 mv_out 100 required=yes
	#7 @1 &quot;by  :&quot;           @10 mv_by 100 required=yes;
    %display w_saisie;
 run;
%mend;


%macro Choix() /store;
%if &amp;mv_ope=import  %then %do;

%saisi_import;

PROC IMPORT OUT=&amp;mv_out
	DATAFILE=&quot;&amp;mv_path&quot;
	DBMS=EXCEL REPLACE;
	SHEET=&quot;&amp;mv_sheet&quot;;
RUN;

%end;

%if &amp;mv_ope=export  %then %do;

%saisi_export;

proc export data =&amp;mv_data
 OUTFILE= &quot;&amp;mv_file&quot;
 DBMS=EXCEL REPLACE;
 SHEET=&quot;&amp;mv_sheet&quot;;
 run;
 %end;
%if &amp;mv_ope=tri  %then %do;

%saisi_tri;
PROC sort data=&amp;mv_data out=&amp;mv_out ; by &amp;mv_by ;RUN;
%end;
%mend;

libname sasref 'C:/sas';
OPTIONS MSTORED SASMSTORE = sasref ;

%operation;

%choix;</pre></td></tr></table></pre>
</div>Cordialement</blockquote>

]]></content:encoded>
			<dc:creator>m.brahim</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/445916-m-brahim/b647/quelques-operations-sas-macro-windows/</guid>
		</item>
		<item>
			<title>OPTIMISEZ LES PERFORMANCES DE TRAITEMENT DE VOS DONNEES AVEC SAS/ACCESS</title>
			<link>https://www.developpez.net/forums/blogs/445916-m-brahim/b361/optimisez-performances-traitement-vos-donnees-sas-access/</link>
			<pubDate>Thu, 19 Mar 2015 09:40:26 GMT</pubDate>
			<description>Bonjour, 
 
Cet article...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">Bonjour,<br />
<br />
Cet article explore les pistes pour traiter efficacement vos données externes et obtenir le meilleur gain de performance.<br />
<br />
<a href="https://www.developpez.net/forums/attachments/p172196d1426757935/general-developpement/algorithme-mathematiques/algorithmes-structures-donnees/formalisation-graphique-algorithmes/us2013-q4-optimisez-performances-traitement-donnees-sas-access.pdf/"  title="Nom : US2013-Q4-OPTIMISEZ-PERFORMANCES-TRAITEMENT-DONNEES-SAS-ACCESS.pdf
Affichages : 1863
Taille : 1,76 Mo">US2013-Q4-OPTIMISEZ-PERFORMANCES-TRAITEMENT-DONNEES-SAS-ACCESS.pdf</a><br />
<br />
Cordialement</blockquote>

]]></content:encoded>
			<dc:creator>m.brahim</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/445916-m-brahim/b361/optimisez-performances-traitement-vos-donnees-sas-access/</guid>
		</item>
	</channel>
</rss>
