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

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ODS et reporting Discussion :

Mise en Forme Feuille Excel : mettre des lignes en gras et quadrillée


Sujet :

ODS et reporting

  1. #1
    Membre habitué

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 289
    Points : 163
    Points
    163
    Par défaut Mise en Forme Feuille Excel : mettre des lignes en gras et quadrillée
    Bonjour tout le monde,

    Savez-vous comment mettre en forme une feuille Excel via SAS. Je voudrais mettre des lignes en gras et quadrillée automatiquement la feuille Excel aussi.

    Merci de votre aide.

    Ash_rmy.

  2. #2
    Membre éclairé
    Homme Profil pro
    responsable adjoint service stat
    Inscrit en
    Mars 2009
    Messages
    448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : responsable adjoint service stat
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2009
    Messages : 448
    Points : 823
    Points
    823
    Par défaut
    Il faut utiliser les commandes X4ML suivantes :

    A/ pour le format du contenu : FORMAT.FONT(,,TRUE)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    filename sys dde "Excel|system";
    data _NULL_ ;
        file sys ;
        put "[SELECT(""L2C2:L3C6"")]";
        put "[FORMAT.FONT(,,TRUE)]";
    run ;
    B/ pour le quadrillage de la page : DISPLAY(,TRUE)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    filename sys dde "Excel|system";
    data _NULL_ ;
        file sys ;
        put "[DISPLAY(,TRUE)]";
    run ;
    (à moins que tu parles de "bordure" plutôt que de quadrillage, auquel cas c'est plutôt la fonction BORDER() )

    Pour chercher toutes les commandes X4ML et leur documentation précise, recherche sur le net le fichier macrofun.exe

    Mais dans ton cas, plutôt que de mettre en forme depuis SAS, as tu envisagé de travailler à partir d'une maquette ?
    C'est à dire que tu met en forme ton fichier Excel vierge, et tu ouvres ce fichier Excel vierge depuis SAS, tu l'alimentes avec tes données puis tu le sauvegardes ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    %let chemin_maquette   =  C:\TEMP;
    %let fichier_maquette  =  Maquette.xls ; 
    %let chemin_sauv       =  C:\TEST;
    %let fichier_sauv      =  Fichier test.xls ;
    data _NULL_ ;
        file SYS ;
        put "[open(""&chemin_maquette.\&fichier_Maquette."",,true)]"; 
        put "[SAVE.AS(""&chemin_sauv.\&fichier_sauv."")]";
    run ;
    /* Alimentation des données */
    data _NULL_ ;
        file SYS ;
        put "[SAVE()]";
        put "[CLOSE()]";
    run ;

  3. #3
    Membre habitué

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 289
    Points : 163
    Points
    163
    Par défaut
    Merci Remi Bousquet pour ton aide.

    Oui j'avais envisagé de travailler avec des maquettes, cependant, comme je souhaite le faire sous Sas pour apprendre.

    J'ai testé le code pour le quadrillage :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    options noxwait noxsync;
    x '"c:\users\ash_rmy\documents\02-pgm_sas______________\results\sep_milliers.xls"';
     
    filename write dde 'excel|c:\users\ash_rmy\documents\02-pgm_sas______________\results\[sep_milliers.xls]feuil1!l2c3:l2c5';
     
    DATA _NULL_ ;
        file write ;
        put "[DISPLAY(,TRUE)]";
    run ;
    Cependant, il me place juste l'expression [DISPLAY(,TRUE)] dans la feuille Excel. Voir PJ.

    Merci de ton aide.

    Ash_rmy.
    Images attachées Images attachées  

  4. #4
    Membre éclairé
    Homme Profil pro
    responsable adjoint service stat
    Inscrit en
    Mars 2009
    Messages
    448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : responsable adjoint service stat
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2009
    Messages : 448
    Points : 823
    Points
    823
    Par défaut
    En fait avec les liens dde, il y a 2 types de filename distincts

    (*) Les attributions du type doublet dde :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    filename X4mlcmd dde "Excel|system";
    permettent d’indiquer que l’on va exécuter une commande X4ML, dirigée depuis SAS (exemple : sauvegarde, copier - coller, tri, etc.).
    A noter qu’il suffit de définir une seule fois le filename X4mlcmd.

    (*) Les attributions du type triplet dde :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    filename export dde "Excel|chemin\[Nomfichier.xls]Nomfeuille!LiCj:Ln.Cm";
    permettent de réaliser des transferts de données (importation et exportation), et l’on précise le lieu exact de l’exportation : fichier, feuille, cellule…
    Les filename export doivent être redéfinis avant chaque exportation.

    --> Dans ton code tu ulises le mauvais type de filename
    Re essaie avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    filename X4MLcmd dde "Excel|system"; 
    DATA _NULL_ ;
        file X4MLcmd;
        put "[DISPLAY(,TRUE)]";
    run ;

  5. #5
    Membre habitué

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 289
    Points : 163
    Points
    163
    Par défaut
    Merci pour l'explication !

    Ash_rmy.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 8
    Points : 11
    Points
    11
    Par défaut
    Merci pour ces explications qui me dépannent bien !
    En cherchant sur le net, j'ai trouvé un doc pas mal pour modifier les formats des cellules :
    www.nesug.org/proceedings/nesug04/hw/hw01.pdf

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    747
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 747
    Points : 978
    Points
    978
    Par défaut
    Salut,

    Quelqu'un sait si cela marche encore le dde sur Excel 2007 / 2010 ?

    xav

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 73
    Points : 411
    Points
    411
    Par défaut
    Bonjour,

    Le DDE fonctionne avec Office 2007, mais j'ai eu des soucis avec SAS version française. Il faut utiliser SAS version anglaise pour être sûr que ça marche.

  9. #9
    Membre éclairé
    Homme Profil pro
    responsable adjoint service stat
    Inscrit en
    Mars 2009
    Messages
    448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : responsable adjoint service stat
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2009
    Messages : 448
    Points : 823
    Points
    823
    Par défaut
    Voilà une question qui mériterait un poste dédié !

    Je confirme que, dans l'ensemble... ça marche avec Excel 2007.
    Mais :
    - pour la version française, il y a effectivement un bug. Je crois qu'il y a eu un patch, mais je ne trouve plus le message à ce sujet.
    - la quasi totalité des fonctions X4ML fonctionnent. Les exceptions :
    (1) WORKBOOK.COPY qui permettait de copier un onglet. Très regrettable !
    (2) SELECT(""<Element de graphe>"") qui permettait de sélectionner des objets d'un graphe, tel que légende, axe, titre et série.
    - un certain nombre de comportements étranges, en particulier pour les graphiques
    Globalement, j'ai l'impression qu'il y a eu une vraie "rupture" avec le passage en version 2007, et que la technique des "liens DDE" en prend un vrai coup.

    @+
    Rémi

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2000] Mise en forme feuille excel
    Par NulenExcel77 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 19/10/2012, 14h41
  2. Réponses: 2
    Dernier message: 16/07/2011, 00h57
  3. [JTable] Mettre des lignes en gras
    Par Takis dans le forum Composants
    Réponses: 6
    Dernier message: 04/04/2008, 13h56
  4. Excel-copier des lignes sur une autre feuille
    Par petecul dans le forum Excel
    Réponses: 7
    Dernier message: 13/09/2007, 03h56
  5. VBA/Excel "Mise en forme de texte dans des cellules"
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/03/2007, 17h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo