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 :

Macros pour enregistrer le fichier [XL-2002]


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Femme Profil pro
    M1 MIAGE
    Inscrit en
    Janvier 2013
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : M1 MIAGE

    Informations forums :
    Inscription : Janvier 2013
    Messages : 61
    Points : 48
    Points
    48
    Par défaut Macros pour enregistrer le fichier
    Bonjour,

    Dans le cadre d'un stage, je dois automatier certaines choses, notamment l'enregistrement d'un fichier en .csv en .xls.
    j'ai réussi à ouvrir le fichier .csv avec un .bat, mais après, je ne sais plus quoi faire... est-il possible de créer une macro qu'on appellerait dans le fichier .bat, et qui s’exécuterait sur le fichier .csv voulu?

    (je ne sais pas si c'est clair ce que je raconte, désolée ... )

    Merci

  2. #2
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Points : 3 974
    Points
    3 974
    Par défaut
    Bonjour,

    Pourquoi ne pas ouvrir simplement ton fichier .csv depuis Excel ?
    Tu pourras ainsi enregistrer la macro correspondante.

    Cordialement.

  3. #3
    Membre du Club
    Femme Profil pro
    M1 MIAGE
    Inscrit en
    Janvier 2013
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : M1 MIAGE

    Informations forums :
    Inscription : Janvier 2013
    Messages : 61
    Points : 48
    Points
    48
    Par défaut
    Mon maitre de stage aimerait avoir le moins de chose à faire... donc il faudrait qu'il ait juste à cliquer sur le bat, et que tout s'exécute, c'est à dire le changement d'extension, et l'exécution des différentes macros que j'ai créé... sauf que ce ne sera pas toujours sur le même fichier que l'on travaillera, du coup, j'aimerais créer une macro pour enregistrer le csv en xls qui soit accessible pour n'importe quel fichier csv... je ne sais toujours pas si c'est clair, et j'en suis désolée, mais j'ai un peu de mal à l'expliquer car c'est un peu flou pour moi aussi ^^
    je ne sais pas trop quelle solution je pourrais utiliser...

    En gros, j'ai des fichiers csv, qu'il faut transformer en xls, puis exéctuer différentes macros pour mettre en forme les données et créer des graphiques croisés dynamiques, et tout cela avec le moins d'action, de la part de l'opérateur, possible.

    Peut-être en enregistrant une macro dans un module, et non dans un classeur, puis l'appeler et l'exécuter sur un classeur grâce au .bat?

  4. #4
    Membre du Club
    Femme Profil pro
    M1 MIAGE
    Inscrit en
    Janvier 2013
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : M1 MIAGE

    Informations forums :
    Inscription : Janvier 2013
    Messages : 61
    Points : 48
    Points
    48
    Par défaut
    En ce moment, j'essaye d'executer la macro grace au .bat de telle sorte :

    dans le .bat :

    "C:\Program Files\Microsoft Office\Office10\EXCEL.EXE" /cmd/macroConversion "monFichier.csv"

    Résultat : il m'ouvre le fichier .csv sans l'enregistrer en xls...

    dans macroConversion.bas (la macro enregistrée dans un module) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub macroConversion()
      ActiveWorkbook.SaveAs Filename:= _
        "D:\Documents and Settings\moi\Mes documents\monFichier.xls", FileFormat:= _
        xlNormal, Password:="", WriteResPassword:="", _
        ReadOnlyRecommended:=False, CreateBackup:=False
    End Sub
    Code que j'ai obtenu en enregistrant une macro : je lance l'enregistrement, j'enregistre mon fichier .csv en .xls, et j'arrete l'enregistrement.



    Sinon, est-il possible de créer une macro qui enregistre sous format .xls en récupérant le nom du fichier dans une variable?

    genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Dim nomFicher As String
    nomFichier=Activedocument.Name
    ActiveWorkbook.SaveAs Filename:="chemin\"&nomFichier&".xls", _ FileFormat:=xlNormal, Password:="", writeResPassword:="", _
    ReadOnlyRecommended:=False, CreateBackup:=False


    Déjà j'ai essayé de mettre un MsgBox dans ma macro pour voir si elle était bien appelée par le .bat, mais il ne s'est rien passé. j'en conclus (à mon grand désespoir) que le fichier .csv s'ouvre sans passer par la macro...


  5. #5
    Membre du Club
    Femme Profil pro
    M1 MIAGE
    Inscrit en
    Janvier 2013
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : M1 MIAGE

    Informations forums :
    Inscription : Janvier 2013
    Messages : 61
    Points : 48
    Points
    48
    Par défaut
    Bon, passer par un .bat -> trop compliqué...
    Du coup : Création d'un fichier excel, qui demande à l'utilisateur de sélectionner dans une boite de dialogue le fichier csv à ouvrir, récupère son nom, l'ouvre, le met en page (plus de séparation des données avec un point virgule, chaque donnée est dans une cellule), l'enregistre sous format xls, ferme le csv, ouvre le xls, et exécute les différentes macros que j'ai au préalable créé!



    Merci à celui qui m'a répondu de m'avoir consacré un peu de temps

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

Discussions similaires

  1. Macro pour enregistrer sous / nom du fichier
    Par vinzu dans le forum VBA Word
    Réponses: 12
    Dernier message: 05/11/2014, 18h19
  2. [XL-2013] Une macro pour enregistrer un fichier excel en pdf
    Par petchy dans le forum Excel
    Réponses: 5
    Dernier message: 29/03/2014, 12h45
  3. [WD-2010] Macro pour Enregistrer des fichiers .mht en fichiers .htm
    Par christian.combeau dans le forum VBA Word
    Réponses: 5
    Dernier message: 29/03/2013, 20h32
  4. Réponses: 9
    Dernier message: 04/02/2013, 13h45
  5. Crée macro pour enregistrer en fichier .csv
    Par jonki dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/07/2008, 14h24

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