|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : mai 2011 Messages : 30 ![]() |
Bonjour,
Je souhaiterais savoir si on peut grouper des fichiers excel, pour n'en former. Et chaque fichier correspondrait à un onglet. Les liens DDE chez moi ne fonctionne pas. Je passe par un ODS HTML pour créer une mise en forme dans le fichier Excel, car avec l'ODS TAGSET.EXCELXP ça ne fonctionne pas ! Je n'arrive pas à créer de mise en forme comme je veux ! Donc finalement, pour résumer je voudrais .. J'ai 3 fichier excel différents : - aaa.xls - bbb.xls - ccc.xls Et je voudrais dans un seul fichier regroupement.xls, les onglets aaa, bbb et ccc. En espérant avoir été clair, et que cela est possible ! Merci |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() ![]() Brice BeareParis Inscription : janvier 2011 Messages : 956 ![]() |
Salut,
Ya pas moyen de regrouper les 3 tables qui ont alimenté les 3 onglets, faire ta mise en forme et ODS par la suite? |
|
|
00
|
|
|
#3 | ||
|
Membre actif
![]() Inscription : mars 2003 Messages : 149 ![]() |
Bonjour,
Si depuis SAS, tu peux exécuter un scrip VBS,( Notamment si tu as SAS en local) tu peux lancer le code suivant. Tu peux aussi bien sur stocker le script VBS sur ton poste et n'éxécuter dans SAS que les 4 dernières lignes. Code :
Bon courage. |
||
|
|
00
|
|
|
#4 |
|
Invité régulier
![]() Inscription : mai 2011 Messages : 30 ![]() |
Salut Megamind2;
Je ne comprends pas réellement ce que tu essaye de me dire ! |
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() Inscription : mai 2011 Messages : 30 ![]() |
Salut La2002,
Avec ODS HTML extension XLs, je peux mettre en forme en choississant le fond de mes cellules ... alors que dans ODS TAGSETS.EXCELXP, quand j'essaye d'ouvrir le fichier Excel il me dit qu'il ne reconnait pas Style .. |
|
|
00
|
|
|
#6 | |
|
Membre actif
![]() Inscription : mars 2003 Messages : 149 ![]() |
Citation:
- Sinon, peux tu transmettre ton code ? |
|
|
|
00
|
|
|
#7 | ||
|
Invité régulier
![]() Inscription : mai 2011 Messages : 30 ![]() |
La2002,
Je ne sais si j'ai la dernière version de TAGSETS.EXCELXP ! Je suis en SAS V9.2 ! donc normalement je devrais l'avoir .. En espérant que tu puisse m'aider. Code :
|
||
|
|
00
|
|
|
#8 |
|
Membre actif
![]() Inscription : mars 2003 Messages : 149 ![]() |
Marion,
Lance ce bout de code, tu verras dans la log de quelle version tu possèdes? Code :
ODS tagsets.excelxp options(doc="help") ; Quant à ton code, il me parait correct. Sinon, je ne saurais te dire, tagsets.excelxp peut aussi donner des résultats surprenants suivant les versions d'Excel. Et le prgm vbs que je t'ai fourni, as tu essyer de l'adapter à ton besoin. Normalement, tu n'as besoin de toucher que les 4 dernières lignes. A+ |
|
|
00
|
|
|
#9 |
|
Invité régulier
![]() Inscription : mai 2011 Messages : 30 ![]() |
La2002,
Quand je copie colle ton code, après le cards4; Tout est surligné en jaune pale ? Est-ce normal ? (Je t'avoue que j'ai du mal à comprendre ton code aussi ! :s) |
|
|
00
|
|
|
#10 |
|
Membre actif
![]() Inscription : mars 2003 Messages : 149 ![]() |
Marion,
Le but du code fourni est d'exécuter un fichier VBS qui exécutera les traitements de groupage de fichier. Lignes 1 à 3 => Allouer un fichier vbs dans le répertoire physique de la work. Il est nommé loadsheets.vbs J'aurais très bien pu le mettre dans un autre dossier pour éviter de le réécrire à chaque exécution de SAS. Lignes 6 à 77 =>Ecriture de l'étape DATA, qui va écrire dans ce fichier vbs. Il s'agit d'un code Visual Basic. Je reviens plus tard sur ce code. Concernant les 3 dernières lignes : %let vbs = loadsheets.vbs; x cd "&work"; C'est une commande DOS, qui va permettre de se placer dans le dossier de la work.(&Work=> défini comme %sysfunc(pathname(WORK)); voir la 1ere ligne. x "&vbs ""H:\12_TDB\tdb_RFA\tx_equipement_cars\rpt"" ""eqpm_cars_eer*&jour..xls"" ""H:\12_TDB\tdb_RFA\tx_equipement_cars\rpt\eqpm_cars_eer_&jour..xls"""; Exécution du programme VBS qui a 3 paramètres : 1) Le dossier où sont stockés les fichiers à rassembler => H:\12_TDB\tdb_RFA\tx_equipement_cars\rpt 2) Les fichiers à rassembler => Ici, eqpm_cars_eer*&jour..xls . Ainsi tous les fichiers Excel qui commencent par eqpm_cars_eer et qui se termine par la valeur de &jour. Tous ces fichiers doivent être placés dans le dossier du paramètre 1. 3) le fichier de sortie. H:\12_TDB\tdb_RFA\tx_equipement_cars\rpt\eqpm_cars_eer_&jour..xls Maintenant, si je reviens sur le code VBS : 1) on récupère les paramètres path = WScript.Arguments(0) pattern = WScript.Arguments(1) OUTFILE = WScript.Arguments(2) 2) on fait une recherche de tous les fichiers à rassembler. Il y en a "count" fichiers. 3) on ouvre ensuite un nouveau classeur Excel (Book). 4) pour chaque fichier à rassembler, on ouvre le fichier. on copie colle la feuille dans une nouvelle feuille du classeur Excel. Le nom de la feuille est "sheet.Name = Left (source(i), Len(source(i))-13) ". Cela doit être adapté à ton cas. on ferme le fichier qui vient d'être copier. 5) On se place sur la 1ere feuille. (Mais je ne sais plus pourquoi je masquais la 1ere feuille) 6) On enregistre le classeur crée sous le nom OUTFILE, qui est le 3ème paramètre. 7) je quitte Excel xl.quit;;;; En espérant que cela t'aidera, cela fonctionne bien si tu es en local. |
|
|
00
|
|
|
#11 |
|
Invité régulier
![]() Inscription : mai 2011 Messages : 30 ![]() |
Bonjour La2002,
Je te remercie d'avoir pris le tps de m'expliquer tout le programme il me semble maintenant un peu plus compréhensible. Cependant, j'aurais une question. J'ai changer le chemin où se trouvait les fichiers, les fichiers ainsi que la sortie. Seulement, une fenêtre m'arrive. (voir la pièce jointe !) Est-ce que cela t'es déjà arrivé ? Je ne comprends pas pk ça me le fait ! |
|
|
00
|
|
|
#12 |
|
Invité régulier
![]() Inscription : mai 2011 Messages : 30 ![]() |
La2002,
J'ai réussi à régler mon pb. Il fallait juste que je donne un nom plus long à mes fichier, car je ne comprends pas ce phénomène, mais chaque onglet se voit réduit de deux lettres à chaque fois. Est-ce que c'est dans le programme que ça fait ça ? Je te remercie encore une fois La2002, pour le tps que tu m'as accordé. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com