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 :

Macro pour convertir mon fichier XLS en CSV


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Femme Profil pro
    Chargé d'affaire
    Inscrit en
    Mai 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2017
    Messages : 6
    Par défaut Macro pour convertir mon fichier XLS en CSV
    Bonjour a tous,

    J'ai un fichier .xls (qui s'appelle "FTT") dans le lequel je souhaite transformer (convertir) ses donnees en .csv sans perdre et renommer ce fichier .xls d'orgine de base.
    La conversation sera journaliere et le fichier final s'appellera "Final Report"

    Je viens imputer des donnees (copier coller) de colonne A a N a partir de la ligne 2.

    J'ai des donnees de colonne A a N et le bouton de conversation sera en colonne P par exemple

    Je souhaite une macro:
    - Lors de la conversiion du fichier en CSV que ce soit en point virgule.
    - Lors de la conversiion du fichier em CSV je ne souhaite pas avoir les 3 virgules a la fin de la 1ere ligne
    - De garder mon fichier excel d'origine de base
    - D'enregistrer le fichier final .csv dans le folder F:\XXX\INVOICES\FTT
    - D'enregistrer le fichier avec la date d'aujourdhui en auto

    Pouvez-vous m'aider s'il vous plait ?

    J'espere que j'ai ete assez claire. N'hesitez a me poser des questions si ce n'est pas le cas.

    Merci pour tout.

    Nadine

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Bonjour,

    pour conserver le fichier d'origine il suffit d'en créer un nouveau via la commande Enregistrer sous au format csv.
    Ensuite modifier les nombres au format désiré puis Enregistrer

    En activant au préalable l'Enregistreur de macro avant d'opérer manuellement, une base de code est livrée sur un plateau !

    ___________________________________________________________________________________________________________
    Je suis Paris, Egypte, Stockholm, London, Istanbul, Berlin, Nice, Bruxelles, Charlie, …

  3. #3
    Membre à l'essai
    Femme Profil pro
    Chargé d'affaire
    Inscrit en
    Mai 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2017
    Messages : 6
    Par défaut
    Merci Marc pour ton retour,

    Voici le code que j'ai pu cree jusqua present

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub test()
     
    ActiveWorkbook.SaveAs FileName:= _
            "F:\XXX\INVOICES\FTT\Classeur1.csv", FileFormat:=xlCSV, _
            CreateBackup:=False
     
    End sub
    Peux-tu m'aider a la developper stp avec mes demandes, je suis debutante sur VBA?

    Merci

    Nadine

  4. #4
    Membre Expert Avatar de jerome.vaussenat
    Homme Profil pro
    Formateur Bureautique
    Inscrit en
    Janvier 2011
    Messages
    1 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Formateur Bureautique
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 629
    Par défaut
    salut,

    si tu débute complétement en VBA y compris avec l'enregistreur. Voici un tuto qui te monte comment commencer.

    http://fauconnier.developpez.com/tut...istreur-macro/

    Bonne lecture

  5. #5
    Membre à l'essai
    Femme Profil pro
    Chargé d'affaire
    Inscrit en
    Mai 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2017
    Messages : 6
    Par défaut
    Merci Jerome pour lien, je compte m'exercer ce week end

    Mais si vous aviez un code a me filer pour m'aider ca serait super sympa de votre part.

  6. #6
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut, sans savoir si cela t'aidera voir Conversion de fichiers Excel

  7. #7
    Membre à l'essai
    Femme Profil pro
    Chargé d'affaire
    Inscrit en
    Mai 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2017
    Messages : 6
    Par défaut
    Non ca ne m'aide pas kiki29 desole

  8. #8
    Membre Expert Avatar de jerome.vaussenat
    Homme Profil pro
    Formateur Bureautique
    Inscrit en
    Janvier 2011
    Messages
    1 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Formateur Bureautique
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 629
    Par défaut
    salut,

    voici un bout de code qui j’espère te mettra sur la voie.

    J'ai mis un ou deux commentaires pour plus de clareté.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub save_csv()
    'on détermine le nom du fichier par rapport à la date du jour (jjmmaaaa)
        nom_fichier = Day(Date) & Month(Date) & Year(Date)
    'enregistrement du fichier au format CSV avec le nom défini plus haut et à l'emplacement désiré
        ActiveWorkbook.SaveAs Filename:="F:\XXX\INVOICES\FTT\" & nom_fichier & ".csv", _
            FileFormat:=xlCSV, CreateBackup:=False, Local:=True
    End Sub
    ps : comme indiqué plus haut, la commande la plus longue à été générée automatiquement par l'enregistreur de macro. J'ai ajouté la génération du nom du fichier à partir de la date ...

  9. #9
    Membre à l'essai
    Femme Profil pro
    Chargé d'affaire
    Inscrit en
    Mai 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2017
    Messages : 6
    Par défaut
    Merci pour tout Jerome, cela marche.

    par contre mon fichier "FTT" d'origine se tranforme et pert son intitule alors que je veux garder mon fichier d'origine en .xls et cree le second .csv dans le folder "F:\XXX\INVOICES\FTT\"

    Mon futur fichier .csv s'apellera "Final report" suivi de la date d'aujourd'hui, cela est possible svp ?

    Apparement mon fichier transforme en .csv contiens toujours les 3 virgules a la fin de la 1ere ligne. Cela est normal ? je souhaite les supprimer en auto.

    Le but sera d'utiliser cette macro a plusieurs reprise afin de l'ajouter a un bouton que je mettrai en colonne P

    Merci encore Jerome pour votre aide si precieuse

    Nadine

  10. #10
    Membre Expert Avatar de jerome.vaussenat
    Homme Profil pro
    Formateur Bureautique
    Inscrit en
    Janvier 2011
    Messages
    1 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Formateur Bureautique
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 629
    Par défaut
    par contre mon fichier "FTT" d'origine se tranforme et pert son intitule alors que je veux garder mon fichier d'origine en .xls
    C'est normal, on fait un enregistrer sous. Par contre le doc en XLS est toujours présent et n'est pas effacer.

    Mon futur fichier .csv s'apellera "Final report" suivi de la date d'aujourd'hui, cela est possible svp ?
    il faut modifier la ligne d'enregistrement de la manière suivante :
    nom_fichier = "Final report " & Day(Date) & Month(Date) & Year(Date)

    Apparemment mon fichier transforme en .csv contiens toujours les 3 virgules a la fin de la 1ere ligne.
    C'est que dans le fichier d'origine, il considère que les dernières colonnes ne sont pas vides.
    La seule solution est de supprimer ces colonnes avant de faire l'enregistrement.
    ceci peut être fait avec cette instruction :
    Bien sûr mettre entre les "" les premières colonnes "vides".

  11. #11
    Membre à l'essai
    Femme Profil pro
    Chargé d'affaire
    Inscrit en
    Mai 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2017
    Messages : 6
    Par défaut
    Merci pour tout Jerome ca marche.

    et une derniere chose est-il possible de combiner les 2 codes Range("G:i").Delete et Sub save_csv ()

    - Dans un 1er temps effacer les 3 colonnes vides du fichier excel pour ne pas avoir les 3 virgules dans le fichier .csv

    - et dans un 2eme temps lancer la macro pour generer le fichier .csv

    Que dois etre le bon code a votre avis ? Le code ci-dessouus est il bon ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub save_csv()
        Range("G:i").Delete
    'on détermine le nom du fichier par rapport à la date du jour (jjmmaaaa)
        nom_fichier = "Final report " & Day(Date) & Month(Date) & Year(Date)
    'enregistrement du fichier au format CSV avec le nom défini plus haut et à l'emplacement désiré
        ActiveWorkbook.SaveAs Filename:="F:\XXX\INVOICES\FTT\" & nom_fichier & ".csv", _
            FileFormat:=xlCSV, CreateBackup:=False, Local:=True
    End Sub
    Merci encore Jerome

    Nadine

  12. #12
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132

Discussions similaires

  1. Réponses: 4
    Dernier message: 07/08/2010, 11h17
  2. [E-00] Syntaxe pour convertir un fichier .xls en pdf
    Par Benjycool dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 14/02/2009, 09h38
  3. Convertir un fichier XLS en CSV
    Par n@n¤u dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 24/07/2006, 13h57
  4. [VBA-E] Macro pour convertir un fichier texte en excel
    Par Nicolas67 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 15/05/2006, 15h47
  5. [Excel] Convertir un fichier xls en csv sous UNIX
    Par Tsuful dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 14/04/2006, 12h12

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