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 :

[Macro] Macro variables avec condition


Sujet :

Macro

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2008
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 18
    Points : 24
    Points
    24
    Par défaut [Macro] Macro variables avec condition
    var1 var2
    3 1
    4 2
    5 3

    Comment créer une macro variable qui prend la valeur de var1 quand var2 = 1 ?
    Merci d'avance

  2. #2
    Membre émérite

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mars 2005
    Messages
    1 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 364
    Points : 2 329
    Points
    2 329
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    data _null_; set table;
    if var2= 1 then call symput(var_new),var1);
    run;
    Pb de doublons:
    var_new prend la dernière valeur var1 tel que var2=1.

  3. #3
    Expert confirmé
    Avatar de olivier.decourt
    Homme Profil pro
    Formateur R/SAS/statistiques
    Inscrit en
    Avril 2008
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Formateur R/SAS/statistiques
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 064
    Points : 4 478
    Points
    4 478
    Par défaut
    En lisant la table avec une étape Data, puis à l'intérieur en faisant un test à l'issue duquel on fait un CALL SYMPUT (création de macro-variable). Attention, la macro-variable ne sera disponible qu'après le RUN.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    DATA _NULL_ ;
       SET maTable ;
       IF var2=1 THEN CALL SYMPUT("macroVar", var1) ;
    RUN ;
    %PUT la macro-variable vaut &macroVar ;
    Olivier

  4. #4
    Membre à l'essai
    Inscrit en
    Juillet 2008
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 18
    Points : 24
    Points
    24
    Par défaut Merci
    Merci bcp bcp de votre aide !!!!

  5. #5
    Responsable SAS


    Inscrit en
    Septembre 2006
    Messages
    3 176
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 176
    Points : 16 157
    Points
    16 157
    Par défaut
    Merci de cliquer sur

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

Discussions similaires

  1. [XL-2007] Macro- Copier-coller avec conditions
    Par natou_pc dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 12/05/2013, 18h57
  2. [XL-2003] Macro suppression ligne avec condition
    Par jenifer699 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 21/08/2012, 12h43
  3. [XL-2003] Macro suppression ligne avec condition 3 mots
    Par jenifer699 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/08/2012, 17h45
  4. [XL-2000] MACRO copie cellules avec condition si
    Par Killie dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 12/01/2012, 11h27
  5. [XL-2000] macro copier coller avec condition ne marche pas
    Par antfo dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 17/03/2010, 10h54

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