Bonjour,

Besoin : Exporter une table SAS sur une feuille Excel contenant déjà des données (écraser les anciennes données Excel)
Difficulté : il y a des macros sur cette feuille Excel

Programme sas :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
%macro export (fic=);
PROC EXPORT DATA=work_rm.&fic 
            OUTFILE="Chemin où se trouve le fichier Excel"
            DBMS=EXCEL REPLACE;
     SHEET="&fic"; 
RUN;
%mend; 
%export (fic=Nom fichier Excel);
Lorsque ma feuille Excel n'a pas de macro, la macro EXPORT fonctionne bien. Au contraire, lorsque ma feuille Excel contient une macro --> Erreur

Log sas :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
ERROR: DBMS type EXCEL not valid for export.
NOTE: The SAS System stopped processing this step because of errors.
NOTE: PROCEDURE EXPORT used (Total process time):
      real time           0.01 seconds
      user cpu time       0.00 seconds
      system cpu time     0.00 seconds
      Memory                            14k
      Page Faults                       6
      Page Reclaims                     14
      Page Swaps                        0
      Voluntary Context Switches        1
      Involuntary Context Switches      0
      Block Input Operations            0
      Block Output Operations           0
Pistes de contournement ??? (a voir)
* Lorsque le fichier Excel cible est vide, l'exportation fonctionne bien
--> Comment faire pour supprimer les valeurs d'une feuille Excel à partir de SAS ?
--> Comment executer une macro Excel à partir de SAS (cette macro effacerait les données de la feuille Excel)

Merci pour votre aide