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 sas sur texte


Sujet :

Macro

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    juin 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : juin 2018
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Macro sas sur texte
    bonjour je cherche à executer le code ci-dessous mais sous forme de macro fonction pour pouvoir changer librement le mot recherché

    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
    16
    17
    18
    19
    data lib.nouvellematable; 
     
    set lib.matable;
     
    helper =  index(com, lowcase("mots_recherché")); /*retourne la position du mot rechercher dans la phrase*/
     
    com_mot =  substr(com, helper, 500); /* soustraction de tte la chaine de char après le mot rechercher) */
     
    drop helper; 
     
    run; 
     
    proc sql; 
     
    select count(com_mot)
     
    from lib.manouvelletable; 
     
    quit;
    Merci d'avance.

  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,

    Pas certain d'avoir bien saisie ce que tu cherches à faire mais voici un essai :

    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
    16
    17
    18
    19
    %macro recherche(Word);
    	data lib.nouvellematable;  
    	set lib.matable; 
    	com_mot =  substr(com, index(com, lowcase("&Word."))); /* soustraction de tte la chaine de char après le mot rechercher) */
    	run; 
     
    	Title "Mot recherché : &Word";
    	proc sql; 
    	select count(com_mot)
    	from lib.manouvelletable; 
    	quit;
    	Title;
    %Mend;
     
    %Recherche("Mot1"); /* Je cherche le mot "Mot1" */
    %Recherche("Mot recherché"); /* Je cherche le mot "Mot recherché" */
    %Recherche("Test");/* etc...*/
    %Recherche("Mot2");
    %Recherche("Mot 3");

    Flo00154

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    juin 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : juin 2018
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci ça marche super, est ce que vous auriez une solution pour inclure le "word" dans la nouvelle table pour que sont nom soit Lib.nouvelletable_WORD quand j'essaye de l'inclure cela me retourne une erreur.

  4. #4
    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
    Oui en faisant ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    %macro recherche(Word);
    	data lib.nouvellematable_&Word.;  
    	set lib.matable; 
    	com_mot =  substr(com, index(com, lowcase("&Word."))); /* soustraction de tte la chaine de char après le mot rechercher) */
    	run; 
     
    	Title "Mot recherché : &Word";
    	proc sql; 
    	select count(com_mot)
    	from lib.manouvelletable; 
    	quit;
    	Title;
    %Mend;
    Attention le "Word" en question ne doit pas contenir d'accents ou de caractères spéciaux sinon il y aura un message d'erreur. Il faudra les retraités si c'est le cas.

    Flo00154

Discussions similaires

  1. Réponses: 0
    Dernier message: 06/03/2016, 06h29
  2. Supprimer un objet / text via une macro placée sur un bouton
    Par Lauvira dans le forum VBA PowerPoint
    Réponses: 1
    Dernier message: 17/11/2012, 06h43
  3. [Toutes versions] filtre TCD via macro vba sur texte contenu
    Par fomy dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 31/08/2012, 10h35
  4. Macro SAS sur ACP
    Par Nono Sto dans le forum SAS STAT
    Réponses: 24
    Dernier message: 31/01/2011, 15h27
  5. pb de macro SAS -moyenne sur plusieurs variables
    Par sas_debutant dans le forum Macro
    Réponses: 3
    Dernier message: 31/10/2009, 01h47

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