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 :

Supprimer un espace dans un nom de fichier Excel


Sujet :

Macro

  1. #1
    Membre régulier
    Femme Profil pro
    Inscrit en
    Avril 2012
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Avril 2012
    Messages : 115
    Points : 74
    Points
    74
    Par défaut Supprimer un espace dans un nom de fichier Excel
    Bonjour à tous,

    J'utilise le code ci-dessous pour exporter des fichiers SAS vers Excel.
    Mon soucis est le suivant.. En fait SAS me créé mes fichiers mais il me met un espace avant le point Excel. Par exemple, il me générer le fichier Excel "resultats_s29_a0145874 .xls" au lieu de "resultats_s29_a0145874.xls".
    J'ai essayé de modifier le format et la longueur de la variable identifiant (ce champ clé est toujours de longueur 8) mais SAS continue de mettre un espace...


    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    %let FICHIER = fichiersrsvD;    /*Nom du fichier à exporter*/
    %let VAR_CLEF = identifiant;     /*Nom de la variable clef  */
    %let sem=29;
    %let VAR_CLEF = identifiant;     /*Nom de la variable clef  */
     
    data parametre;
    set parametre;
    adresse = '"D:\donnees\2013\\resultats_s&sem._'||&VAR_CLEF||'.xls"';        /*PENSER A MONDIFIER LE CHEMIN D'ACCES*/
    run;
     
    data listages;
    set &FICHIER;
    run;
     
    %macro mexport(var,ctecut_rsv,adresse);
    data swork.listage;
    set swork.'&identifiant';
    run;
     
    PROC EXPORT DATA= swork.listage
                OUTFILE= &adresse
                DBMS=EXCEL2000 REPLACE;
                            SHEET = &VAR_CLEF;  /*nom de la feuille*/
    RUN;
    %mend;
     
    data _null_ ;
     set swork.parametre ;
     call execute("%mexport(&VAR_CLEF ," !! &VAR_CLEF !! "," !! adresse !! ");") ;
    run ;
    Quelqu'un aurait-il une solution pour résoudre ce problème?

    Merci d'avance

  2. #2
    Membre actif Avatar de tdiallo
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Mai 2012
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2012
    Messages : 118
    Points : 264
    Points
    264
    Par défaut
    Bonjour,

    Essaye avec ce code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    DATA parametre;
    SET parametre;
    adresse = '"D:\donnees\2013\\resultats_s'||"&sem"||'_'||"&VAR_CLEF"||'.xls"';
    run;

  3. #3
    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
    Simplification n°1 : l'utilisation des "double double quotes" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    DATA parametre ;
        set parametre ;
        adresse = """D:\donnees\2013\resultats_s&sem._&VAR_CLEF..xls"""  ;
    run;
    Simplification n°2 : as tu vraiment besoin de créer la variable adresse, ne peux tu pas faire directement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    PROC EXPORT DATA= swork.listage
                OUTFILE= "D:\donnees\2013\resultats_s&sem._&VAR_CLEF..xls"
                DBMS=EXCEL2000 REPLACE;
                            SHEET = &VAR_CLEF;  /*nom de la feuille*/
    RUN;

Discussions similaires

  1. Espace dans un nom de fichier
    Par anisr dans le forum Général VBA
    Réponses: 2
    Dernier message: 02/05/2007, 07h45
  2. support des espaces dans les noms de fichiers
    Par menuge dans le forum Langage
    Réponses: 9
    Dernier message: 25/10/2006, 09h02
  3. suppression des espaces dans les noms de fichiers
    Par menuge dans le forum Général Python
    Réponses: 8
    Dernier message: 22/10/2006, 12h01
  4. [BATCH] Espaces dans les noms de fichiers :|
    Par andlio dans le forum Windows
    Réponses: 1
    Dernier message: 03/08/2006, 03h42
  5. Espace dans un nom de fichier
    Par pouli dans le forum Langage
    Réponses: 5
    Dernier message: 27/07/2006, 12h26

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