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 :

[E-03] Sauvegarder Xls en Csv


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 289
    Par défaut [E-03] Sauvegarder Xls en Csv
    Bonjour,

    J'ai un répertoire rempli de fichier Excel (un seul onglet) et je dois les transformer en .Csv dans un autre répertoire. Voici mon code ci-dessous, qu'est ce qui clocle ?

    merci de votre aide.

    ash_rmy.

    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
    Sub CREATION()
    Dim Fichier As String, Repertoire As String
    Dim Wb As Workbook
     
    Repertoire = "G:\REP02"
    Fichier = Dir(Repertoire & "\*.xls")
     
    Do While Len(Fichier) > 0
        Set Wb = Workbooks.Open(Repertoire & "\" & Fichier)
        ActiveWorkbook.SaveAs Filename:="G:\NEWREP02" nom_fic _
            , FileFormat:=xlCSV, CreateBackup:=False
        Wb.Close False
        Fichier = Dir()
    Loop
    End Sub

  2. #2
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Bonjour,

    Je n'ai pas tout regardé mais déja il devrait y avoir un "&" entre le chemin et le nom :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Filename:="G:\NEWREP02" & application.PathSeparator & nom_fic

  3. #3
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 289
    Par défaut
    merci pour la réponse aalex_38.

    j'ai essayé avec application.PathSeparator mais ça ne marche pas encore.

    Là, je boucle sur les fichiers Xls présents dans un répertoire mais je ne sais pas comment lui spécifier le nom de fichier.

    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
    Sub CREATION_CSV()
    Dim Fichier As String, Repertoire As String
    Dim Wb As Workbook
     
    Repertoire = "G:\REP02"
    Fichier = Dir(Repertoire & "\*.xls")
     
    Do While Len(Fichier) > 0
        Set Wb = Workbooks.Open(Repertoire & "\" & Fichier)
        ActiveWorkbook.SaveAs Filename:="G:\REP02" & application.PathSeparator & Fichier &".csv", _
    , FileFormat:=xlCSV, CreateBackup:=False
        Wb.Close False
        Fichier = Dir()
    Loop
    End Sub
    merci.

  4. #4
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Bonjour,

    Super la liste des fichiers fonctionne.

    Utilise une variable string pour ton filename et regardes ce que tu as dedans.

    Il faut extraire le nom du fichier car tu as .xls dans le nom.

  5. #5
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 289
    Par défaut
    ok. mais comment faire pour visualiser ce que j'ai dans le filename. Y a pas une log ?

    merci.

    ash_rmy.

  6. #6
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    J'ai modifié le code comme suit et j'espère que ça correspond à ton attente :


    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
    18
    19
    20
    21
    22
    Sub CREATION_CSV()
     
    Dim Fichier As String, Repertoire As String, MonFilename As String
    Dim Wb As Workbook
     
    Repertoire = "G:\REP02"
     & Application.PathSeparator
     Fichier = Dir(Repertoire & "\*.xls")
     
    Do While Len(Fichier) > 0
     
         MonFilename = Mid(Fichier, 1, InStrRev(Fichier, ".", -1, vbTextCompare) - 1)
         MonFilename = Repertoire & MonFilename
        Set Wb = Workbooks.Open(Repertoire & "\" & Fichier)
        ActiveWorkbook.SaveAs MonFilename, FileFormat:=xlCSV, CreateBackup:=False
         Wb.Close False
     
         Fichier = Dir()
     
    Loop
     
    End Sub
    ok. mais comment faire pour visualiser ce que j'ai dans le filename. Y a pas une log ?
    En passant par une variable, comme dans l'exemple avec MonFileName, c'est pratique car tu peux soit :
    - Ajouter un espion et controler sa valeur dans la fenêtre espion
    - Voir sa valeur avec l'espion express, juste en passant dessus avec la souris
    - Ecrire dans le debuguer avec le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DEBUG.PRINT "Mavariable : " & MonFilename
    - Afficher directement la variable dans un MSGBOX

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

Discussions similaires

  1. Sauvegarder un .xls en .csv en format français
    Par pifor dans le forum VBScript
    Réponses: 3
    Dernier message: 01/10/2009, 17h21
  2. Réponses: 7
    Dernier message: 29/06/2006, 12h33
  3. [C#] Convertir XLS en CSV
    Par MDelah dans le forum Windows Forms
    Réponses: 2
    Dernier message: 15/06/2006, 17h16
  4. [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, 11h12
  5. Réponses: 2
    Dernier message: 14/05/2004, 12h55

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