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 :

Enregistrer un fichier csv en xls


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2012
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Mai 2012
    Messages : 60
    Par défaut Enregistrer un fichier csv en xls
    Bonjour,

    J'ai pas mal fouillé sur le net, mais n'ai pas pu trouvé la solution adéquate à mon problème, je me permets donc de vous solliciter

    Je souhaite enregistrer le fichier csv en format excel. Le code que j'utilise est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    titi.SaveCopyAs Filename:="\...\toto.xls",
    titi.Close
    NB:titi a été déclaré comme un classeur avant, il est sous format csv.

    Je voudrais enregistrer une copie sous format xls, par contre, le fichier toto est avec des séparateurs virgule, comment je pourrai corriger ce problème please??

    Merci d'avance
    IDH

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Bonjour,

    Si tu utilisais SaveAs, tu pourrais spécifier le format de fichier (FileFormat) et aussi utiliser le paramètre Local qui utilise les mêmes paramètres que dans tes configurations Windows, donc probablement le point-virgule dans ton cas...

  3. #3
    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, bonjour,

    je pense qu'idhmida n'a pas été clair et qu'il mélange deux problèmes :
    • la conversion d'un fichier .csv (à mettre en pièce jointe, ce sera plus clair !).

    Rien qu'en lisant l'aide de la méthode Workbooks.Open et son paramètre Format, même pas besoin du net !
    Ouverture et conversion en une seule ligne …
    • La sauvegarde du fichier converti dans un classeur standard …


    Et j'ai l'impression qu'il butte dès le premier point ‼

    Les réponses - nombreuses ! - étant aussi sur ce site, entre autres …

    __________________________________________________________________________________________
    Question bien formulée, solution assurée ! (Robert Durupt)

  4. #4
    Invité
    Invité(e)
    Par défaut
    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
    Sub test()
    Dim i As Long
    Dim titi As Workbook
    Open "C:\MyExcel\ABC.txt" For Input As #1    ' Ouvre le fichier en lecture.
    Set titi = Workbooks.Add
    Do While Not EOF(1)    ' Effectue la boucle jusqu'à la fin du fichier.
        Line Input #1, MyString    ' Lit les données dans deux variables.
        ' Affiche les données dans la fenêtre Exécution.
        i = i + 1
        MyString = Split(MyString, ",")
        titi.Worksheets(1).Range(titi.Worksheets(1).Cells(i, 1), titi.Worksheets(1).Cells(i, UBound(MyString) + 1)) = MyString
    Loop
    Close #1    ' Ferme le fichier.
    titi.SaveAs "C:\MyExcel\toto.xls"
    titi.Close
    Set titi = Nothing
    End Sub

  5. #5
    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 HEU … (à la Patrick !)

    En deux lignes c'est fait, une pour l'ouverture et la conversion, l'autre pour la sauvegarde …

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 11/07/2011, 16h01
  2. Lire un fichier CSV ou XLS de la même manière
    Par Linio dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/07/2007, 15h12
  3. [MySQL] Enregistrer un fichier .csv obtenu d'un appel SQL
    Par guillaumeIOB dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 15/01/2007, 18h55
  4. Enregistrer un fichier ".CSV" en ".XLS"
    Par Isa31 dans le forum API, COM et SDKs
    Réponses: 6
    Dernier message: 13/03/2006, 14h05

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