Flux rss
Collection CommentCaMarche.net
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

Faire une macro pour un format SAS

fabienne35, le mercredi 23 janvier 2008 à 11:04:23
Bonjour,
j'ai besoin d'aide je voudrais faire une macro pour définir un format, voila ce que j'ai pour le moment

%macro formperso(mavar);
proc format;
value mavar
%do n=&min. %to &max2.+100 %by 100;
/*la boucle doit générer des lignes de ce type et le ; */
2000-<2100='2000 à 2100'
2100-<2200='2100 à 2200'
2200-<2300='2200 à 2300'
2300-<2400='2300 à 2400'
2400-<2500='2400 à 2500'
2500-<2600='2500 à 2600'
2600-<2700='2600 à 2700'
2700-<2800='2700 à 2800'

%put &n;
%end;
%mend;
%formperso;

est-ce qu'il faut faire un print ?

Merci de l'aide que vous pourrez m'apporter.
Configuration: Windows XP
Internet Explorer 6.0
Répondre à fabienne35  Signaler ce message aux modérateurs Aller au dernier message

1


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
steelspirit, le mercredi 23 janvier 2008 à 12:08:09
Bonjour,

Que contient &min et &max2 ? pourquoi faire +100 et %by 100 ?

%put ne sert qu'a afficher la valeur de la macro-variable dans la log

Steel

- T'as pas vu Chloraine ?
- C'est qui Chloraine ? - Ah Ah Ah !
Répondre à steelspirit

2


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
fabienne35, le mercredi 23 janvier 2008 à 14:00:30
Normalement mon format c'est :
proc format;
value mavar
1500-<1600='1500 à 1600'
1600-<1700='1600 à 1700'
1700-<1800='1700 à 1800'
...
24600-<24700='24600 à 24700'
24700-<24800='24700 à 24800'
other='indéterminé';
run;
Le but est d'avoir un pg de qq lignes seulement au lieu de 238 !

Comme la valeur maximum dépend de la base sur laquelle je travaille j'ai paramètré le maximum pour qu'il soit adapté à chaque base.
C'est la valeur maximum de la variable à laquelle je voudrais appliquer le format.
La valeur minimum est sous forme de paramètre aussi (là c'est moi qui la fixe).
Le but est de faire des classes avec un pas de 100.
Je fais un by 100 pour qu'à la prochaine étape il avance de 100.
Je fais n+100 pour dire la borne supérieur de mon intervalle


%macro formperso;
proc format;
value mavar
%do n=&min. %to &max2. %by 100;

&n.-<&n.+100=' &n. à &n.+100' /*C'est là que je ne sais pas comment faire*/
%end;
;
%mend;

J'espère être assez claire.
Répondre à fabienne35

3


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
steelspirit, le mercredi 23 janvier 2008 à 15:21:38
Merci pour ces précisions ! il faut utiliser %sysevalf pour additionner 100 à &n.

voici la solution :

%macro formperso(mavar=);
proc format;
value &mavar
%do n=&min. %to %sysevalf(&max2+100) %by 100;

&n -< %sysevalf(&n+100)="&n à %sysevalf(&n+100)"

%end;
; /* ne pas oublier le ; qui ferme value */
quit;
%mend;
%formperso(mavar=);

Steel

- T'as pas vu Chloraine ?
- C'est qui Chloraine ? - Ah Ah Ah !
Répondre à steelspirit

4


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
 fabienne35, le mercredi 23 janvier 2008 à 16:38:28
Merci pour ton aide
En fait j'avais arrondi le maximum.
Ma macro ne doit pas avoir de paramètre elle doit enregistrer un format pour que je puisse le rappeller après.

Donc mon pg ressemble à :

proc sql noprint;
select max(mavar) into:max
from mabase;
quit;

/*Macro pour faire les tranches de 100 € */
%let min = 100;
/*Arrondir le maximum*/
data _null_;
call symput("max2", round(&max,100));
run;

%macro formpers;
proc format;
value monformat
%do n=&min. %to &max2. %by 100;
&n.-<%eval(&n+100)=" &n. à %eval(&n+100)"
%end;
other='indéterminé';
run;
%mend;

%formpers;
Répondre à fabienne35

Résultats pour Faire une macro pour un format SAS

Formule Excel + Range dans une macro VBA (Résolu) Bonjour, Je tente d´insérer une formule dans une cellule Excel via une macro, mais le résultat obtenu quand je lance ma macro est nul, alors qu´il ne devrait pas l´etre... Voici le code : Public r As Integer Public c As Integer Sub calculer_la_pente()... www.commentcamarche.net/forum/affich-8793586-formule-excel-range-dans-une-macro-vba
Macro Excel : Convertion des dates en texte (Résolu) Bonjour à tout le monde, Je voudrais convertir une colonne où il y a des dates (jj/mm/aaaa) en format texte dans une macro Excel. Quand je le fais directement sous Excel, il n'y a aucun problème, mais quand je veux la faire exécuter dans une... www.commentcamarche.net/forum/affich-2408261-macro-excel-convertion-des-dates-en-texte
[Excel VBA] Formater une cellule en texte (Résolu) Bonjour, Tout d'abord merci de vous intéressé à mon petit problème ( de noob, il faut bien le dire...) Je vous présente les faits. Je cherche désespèrément à formater une cellule d'une feuille excel pour recevoir des chaînes de caractères.... www.commentcamarche.net/forum/affich-3270118-excel-vba-formater-une-cellule-en-texte

Résultats pour Faire une macro pour un format SAS

Vba excel macro aujourd'hui (Résolu)Bonjour, Dans un classeur, j'ai créé une feuille "Messages" et sur ccette feuille en cellule A2 j'ai inséré la fonction "AUJOURDHUI" A l'ouverture du fichier, j'ai inséré une macro mettant le fichier en plein écran et contrôlant... www.commentcamarche.net/forum/affich-4754237-vba-excel-macro-aujourd-hui
Macro excel, Problème affichage date (Résolu)Bonjour, J'aurais besoin d'aide pour un affichage de date. Voila j'ai une macro qui me permet de prendre des données sur un autre tableau sur une autre feuille et de les collées sur mon autre feuille. Le problème c'est que mes... www.commentcamarche.net/forum/affich-6219717-macro-excel-probleme-affichage-date
[Word] Récupérer la valeur d'un champ (Résolu)Bonjour. J'ai un formulaire Word en deux pages qui se présente de la manière suivante : La première page est un schéma à commenter à différents endroits (dans des cadres qui contiennent des champs "texte"). La deuxième page est un tableau qui... www.commentcamarche.net/forum/affich-3468472-word-recuperer-la-valeur-d-un-champ

Résultats pour Faire une macro pour un format SAS

Télécharger MOREFUNC (Macro complémentaire EXCEL)Morefunc est une macro complémentaire proposant 67 nouvelles fonctions de feuille de calcul pour Excel. Ces fonctions sont compatibles avec Excel 95 à 2007. Elles ne sont pas portables sur d'autres plate-formes que Windows, ni sur d'autres... www.commentcamarche.net/telecharger/telecharger-34056283-morefunc-macro-complementaire-excel
Télécharger FLV PlayerLes fichiers portants l'extension .FLV (pour FLash Video) sont des fichiers vidéos encodés dans un format réservé à être utilisé par l'outil de développement Macromedia Flash. Malheureusement le lecteur Flash original ne permet pas de les lire... www.commentcamarche.net/telecharger/telecharger-34055189-flv-player
Télécharger FactOOorFactOOor est un facturier qui utilise Calc (OpenOffice.org) pour l'interface de gestion, Base pour la conservation des données et les macros pour son fonctionnement. Il fonctionne sous les plate-formes windows, linux et sûrement sous... www.commentcamarche.net/telecharger/telecharger-34055162-factooor

Résultats pour Faire une macro pour un format SAS

Hitachi UltraStar 15K300 300 Go / SAS / 15000 rpmK 300 15 K,SAS,300 Go,15000 tours/min,3.5",2.01 euro / Go,Fiche produit au format PDF:Anglais,Vitesse de transfert de l'interface:300 Mo/s,Temps d'accès moyen:3.6 ms,Vitesse de rotation:15000 rpm,Mémoire cache:16 Mo,Taille:3.5",Capacité:300... www.commentcamarche.net/guide-achat/hitachi-ultrastar-15k300-300-go-sas-15000-rpm-979715-fiche-technique
Seagate Barracuda ES.2 1TB / SAS / 7200 rpmES .2 1 TB,SAS,1000 Go,7200 tours/min,3.5",0.23 euro / Go,Vitesse de transfert de l'interface: ,Fiche produit au format PDF:Anglais,Temps d'accès moyen:9.5 ms,Taille:3.5",Vitesse de rotation:7200 rpm,Mémoire cache:16.0 Mo,Capacité:1000.0... www.commentcamarche.net/guide-achat/seagate-barracuda-es-2-1tb-sas-7200-rpm-1074940-fiche-technique

Résultats pour Faire une macro pour un format SAS

Fichier FLVFormat FLV Un fichier FLV (Flash vidéo) est un fichier vidéos encodés dans un format propriétaire par l'outil de développement Macromedia Flash. Ce fichier n'a à l'origine pas comme objectif d'être lu directement par un utilisateur mais à... www.commentcamarche.net/contents/fichier/flv.php3