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

Macro Discussion :

Comment boucler sur une macro variable ?


Sujet :

Macro

  1. #1
    Membre du Club
    Femme Profil pro
    Architecte technique
    Inscrit en
    Avril 2015
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Avril 2015
    Messages : 86
    Points : 46
    Points
    46
    Par défaut Comment boucler sur une macro variable ?
    hello

    Je viens vers vous car j'ai un petit soucis. Je voudrais savoir si je peux boucler sur une macro variable déclarée comme telle:
    %let table= Courses Femmes Hommes Biens

    Je veux lancer une boucle sur chaque valeur de la liste afin de répéter une macro dessus. Cela est-il faisable? Si oui comment je n'y arrive pas :/

    Je vous remercie

    Vanessa

  2. #2
    Membre confirmé
    Homme Profil pro
    Consultant Finance/Assurance
    Inscrit en
    Décembre 2013
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant Finance/Assurance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 198
    Points : 638
    Points
    638
    Par défaut
    Bonjour,

    Tu peux utiliser la fonction Countw et la fonction Scan pour réaliser l'opération, voici un exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    %let table= Courses Femmes Hommes Biens;
    %let Word = %sysfunc(countw(&Table));
     
     
    %macro test;
    %Do i = 1 %to &Word.;
    	%put %scan(&Table,&i.,' ');
    	/* Ton code ici pour faire une boucle sur la modalité que tu récupères avec %Scan()*/
    %End;
    %mend;
    %test;
    Countw permet de compter le nombre de modalité que tu as dans ta macro variable TABLE.
    Scan va retourner la modalité numéro i à chaque tour de boucle. Ici tu verras le résultat de ce programme dans ton journal.

    A toi d'adapter ceci à ton cas,
    Flo00154

  3. #3
    Membre du Club
    Femme Profil pro
    Architecte technique
    Inscrit en
    Avril 2015
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Avril 2015
    Messages : 86
    Points : 46
    Points
    46
    Par défaut
    ah c'est exactement ce que je voulais flo00154.

    merciii

    Vaness

Discussions similaires

  1. Boucle sur une macro variable
    Par Goris dans le forum Macro
    Réponses: 2
    Dernier message: 24/08/2012, 12h09
  2. Boucler sur une propriété "variable"
    Par maxxou dans le forum C#
    Réponses: 3
    Dernier message: 13/04/2010, 22h53
  3. Condition sur une macro-variable
    Par ash_rmy dans le forum Macro
    Réponses: 2
    Dernier message: 10/06/2008, 21h35
  4. Réponses: 9
    Dernier message: 14/04/2008, 12h58
  5. Réponses: 1
    Dernier message: 10/02/2008, 21h13

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