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 :

Problème sauvegarde .csv [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Femme Profil pro
    Lycéen
    Inscrit en
    Juin 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juin 2015
    Messages : 3
    Par défaut Problème sauvegarde .csv
    Bonjour tout le monde.

    Voilà, j'ai un problème lors de l'enregistrement de classeurs en .csv.
    Lorsque je le fais manuellement, chaque donnée reste dans sa cellule source (comme si j'avais tout simplement supprimer que la mise en forme de toute la feuille).

    Puisqu'il y a beaucoup de classeur et que leur dossier de destination varie, j'ai fais une macro qui enregistre tous les classeurs ouverts dans un dossier en fonction de leur nom.

    Voici la macro :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Dim Wbk as Workbook
    For Each Wbk In Workbooks
        If Wbk.Name = "Oui.xlsm" Then
            ActiveWorkbook.SaveAs Filename:="C:\chemin\xxxx.csv", FileFormat:=xlCSV, Local:=True
        ElseIf Wbk.Name <> "Oui.xlsm" Then
            ActiveWorkbook.SaveAs Filename:="C:\autre_chemin\xxxx.csv", FileFormat:=xlCSV, Local:=True
        End If
    Next Wbk
    L'enregistrement se fait automatiquement dans le bon dossier, au format csv, tout roule.

    Le souci est que sur le fichier.csv créé par macro, toutes les données sont regroupées dans une seule colonne, séparées par des ","

    Existe t-il un paramètre à rajouter sur ma macro pour que les classeurs.csv créés conservent chaque données dans leurs cellules sources ?
    Comme si je continuais à le faire manuellement quoi

    Merci d'avance

  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,

    Tu pourrais toujours aller dans le menu Données / Convertir et ajouter le ";" comme séparateur.
    Autrement, je ne vois pas puisque tu as mis Local = True, ce qui aurait dû régler le problème de versions (anglais vs français)

  3. #3
    Candidat au Club
    Femme Profil pro
    Lycéen
    Inscrit en
    Juin 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juin 2015
    Messages : 3
    Par défaut
    J'ai pensé à cette solution aussi mais j'aurai préféré l'utiliser qu'en dernier recours.
    Ça va rajouter du temps de traitement et je suis pas sûr du résultat.

    Au cas où, connais tu la commande en VBA pour utiliser l'outil convertir ?

  4. #4
    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
    Si tu utilises l'enregistreur de macro, tu auras la réponse.

    Par contre, comment utilises-tu ces fichiers CSV ?
    Est-ce que tu les ouvres manuellement ou par macro ?

  5. #5
    Candidat au Club
    Femme Profil pro
    Lycéen
    Inscrit en
    Juin 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juin 2015
    Messages : 3
    Par défaut
    Je n'ouvre pas mes fichiers CSV car je n'ai pas besoin de les retraiter.
    Et les fichiers xlsm sont ouverts manuellement.

    Mais c'est bon j'ai finalement trouvé.

    Il ne faut pas préciser "FileFormat:="..etc.
    Seulement indiquer les paramètres. Par contre Local:=True doit rester.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim Wbk as Workbook
    For Each Wbk In Workbooks
        If Wbk.Name = "Oui.xlsm" Then
            ActiveWorkbook.SaveAs "C:\chemin\xxxx.csv", xlCSV, Local:=True
        ElseIf Wbk.Name <> "Oui.xlsm" Then
            ActiveWorkbook.SaveAs "C:\autre_chemin\xxxx.csv", xlCSV, Local:=True
        End If
    Next Wbk
    Et si jamais on ajoute une commande pour fermer le classeur ensuite, déjà ne pas sauvegarder les changements, mais ensuite il ne faut pas mettre "SaveChanges".
    Sinon et refait la même erreur.

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveWorkbook.SaveAs Filename:="C:\autre_chemin\xxxx.csv", FileFormat:=xlCSV, Local:=True
    ActiveWorkbook.Close False
    En espérant que ça serve à d'autre

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

Discussions similaires

  1. Sauvegarde csv problème de quote
    Par BenoitM dans le forum Excel
    Réponses: 2
    Dernier message: 10/07/2007, 00h07
  2. problème sauvegarde hebdomadaire
    Par elharet dans le forum Oracle
    Réponses: 4
    Dernier message: 02/03/2007, 15h14
  3. [HTML2PDF] Problème sauvegarde (output)
    Par forst dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 06/12/2006, 23h46
  4. [CSV] Problème avec CSV et point virgules
    Par Lotz dans le forum Langage
    Réponses: 6
    Dernier message: 09/03/2006, 15h11
  5. [MS SQL Serveur 2000] Problème sauvegarde restauration
    Par m-mas dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 30/11/2005, 12h25

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