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

Macros et VBA Excel Discussion :

Pop-up pour entrer variable [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Décembre 2012
    Messages : 129
    Par défaut Pop-up pour entrer variable
    Bonjour,

    J'ai un problème tout simple. A la fin de ma macro (qui marche), j'aimerais que excel enregistre le fichier en csv quelque part. Ca j'ai réussi grâce à l'enregistreur de macro.
    Mais j'aimerais bien qu'un pop up s'affiche avec la question "Quel nom pour ce fichier ?" et un champ de saisie. Si l'utilisateur tape "Test" dans le champ de saisie. Excel enregistre le fichier sous le nom Test.csv.

    C'est posssible ?
    Il faut faire un userform ?

    Pour l'instant j'ai ça et je modifie les noms à la main après, ce qui n'est pas très ergonomique.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
       ChDir "\\place\to\be"
        ActiveWorkbook.SaveAs Filename:= _
            "\\place\to\be\Test.csv", FileFormat:= _
            xlCSV, CreateBackup:=False

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Décembre 2012
    Messages : 129
    Par défaut
    J'ai un peu avancé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Dim blabla As String
    blabla = InputBox("Quel nom pour ce fichier ? ", "Nom à entrer manuelement")
     
    ChDir "\\place\to\be"
       ActiveWorkbook.SaveAs Filename:= _
            "\\place\to\be\blabla.csv", FileFormat:= _
            xlCSV, CreateBackup:=False

    Le problème c'est que les fichiers enregistrés s'appellent donc "blabla.csv" et non "Test.csv" ou ce que j'entre dans la inputbox...
    Comment lui faire comprendre que j'ai mis une varialbe dans mon chemin : \\place\to\be\blabla.csv

  3. #3
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    Essais comme cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim blabla As String
    blabla = InputBox("Quel nom pour ce fichier ? ", "Nom à entrer manuelement")
     
    ChDir "\\place\to\be"
       ActiveWorkbook.SaveAs Filename:= _
            "\\place\to\be\" & blabla & ".csv", FileFormat:= _
            xlCSV, CreateBackup:=False

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Décembre 2012
    Messages : 129
    Par défaut
    Merci après quelques tests ça fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim blabla As String
    blabla = InputBox("Quel nom pour ce fichier ? ", blabla)
     
     
    ChDir "\\place\to\be"
       ActiveWorkbook.SaveAs Filename:= _
            "\\place\to\be\" & blabla & ".csv", FileFormat:= _
            xlCSV, CreateBackup:=False

    Ca fait un peu bisard cette ligne : blabla = InputBox("Quel nom pour ce fichier ? ", blabla
    Mais bon ça marche.

    Merci beaucoup pour cette piste qui m'aura permi de trouver !

  5. #5
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    A noter que tu peux aussi écrire comme cela sans passer par une variable string

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
       ActiveWorkbook.SaveAs Filename:=  "\\place\to\be\" & InputBox("Quel nom pour ce fichier ? ", blabla) & ".csv", FileFormat:= xlCSV, CreateBackup:=False

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Décembre 2012
    Messages : 129
    Par défaut
    Ha oui c'est mieux comme ça !

    Par contre j'ai un soucis tout autre maintenant.

    Pourquoi lorsque j'enregistre par moi même en csv, des points virgules s'insèrent entre les colonnes alors que, là dans ma macro, ce sont des virgules ?

    Je préfèrerais des points virgules...

    edit : arf et les virgules sont devenues des points aussi...

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

Discussions similaires

  1. Gerer le Pop-up pour entrer nom d'utilisateur et password d'une BDD
    Par melles dans le forum Bases de données
    Réponses: 11
    Dernier message: 17/04/2007, 11h40
  2. Réponses: 9
    Dernier message: 10/11/2005, 23h31
  3. [FLASH MX] filterFunc pour dataSet variable
    Par totoche dans le forum Flash
    Réponses: 2
    Dernier message: 07/11/2005, 13h33
  4. switch case pour deux variable en meme temps
    Par petitours dans le forum C
    Réponses: 3
    Dernier message: 06/11/2005, 19h20
  5. Réponses: 6
    Dernier message: 08/06/2004, 14h22

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