Convertir un fichier xlsx en csv avec des guillemets

rayan-13 Messages postés 1 Statut Membre -  
f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   -
bonsoir ;

j'ai une macro en vbs pour convertir un fichier xlsx en csv ,mais je souhaite rajouter des guillemets a c'est champs avec cette macro

Sub Placeoweb_XLS2CSV_OneFileBySheet()

Application.DisplayAlerts = False
Application.ScreenUpdating = False
For Each feuilleEnCours In ThisWorkbook.Sheets
feuilleEnCours.Select
feuilleEnCours.Copy
ActiveWorkbook.SaveAs Filename:="C:\placeoweb.com.xls2csv." & feuilleEnCours.Name & ".csv", FileFormat:=xlCSV, CreateBackup:=False, local:=True
ActiveWorkbook.Close SaveChanges:=False
Next
Application.ScreenUpdating = True
Application.DisplayAlerts = True

MsgBox ("Exportation terminée, retouvez vos fichier à la racine dans le C:\")

End Sub

merci pour votre aide

9 réponses

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    Le plus simple est de modifier les fichiers CSV genere par votre macro.

    A+
    0
  2. rayan-13
     
    merci pour ta réponse mais j'ai 126 fichiers donc ça sera difficile de les parcourir tous
    0
  3. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Re,

    Si, car il n'y pas d'autre moyen. Mais cela se fera par du code VBA, pas a la main !!!
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    question: vos fichiers csv existent deja ou vous pouvez les recreer sans fin
    0
  6. rayan-13
     
    en faite voila je t'explique bien les choses
    j'ai utiliser cette macro pour convertir une centaine de fichiers excel en csv
    sauf que les résultats de la conversion (c'est pas ca que je veux) je cherche a rajouter sur les champs de mon classeur les guillemets ""
    0
  7. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Re,

    Ok, les fichiers existent et sont sous la racine C:. Il faudra les mettres dans un repertoire et vous mettrez le fichier excel que je vais vous donner dans ce repertoire.

    A+
    0
  8. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Re,

    code a mettre dans un module excel: modifiez les repertoires

    Sub modif_csv()
    Dim Buffer, Buffer1, Tableau

    Close
    'repertoire fichiers d'origines
    repcsv = "D:\_atest\"
    'repertoire fichiers modifies
    repcsvmod = "D:\_mod\"
    'positionnement sur repertoire fichier origine
    ChDir (repcsv)
    'liste 1er fichier csv
    FichierCSV = Dir(repcsv & "*.csv")
    'boucle tant que fichier csv trouve
    Do While FichierCSV <> ""
    'fichier CSV de base
    Open repcsv & FichierCSV For Input As #1
    'fichier CSV final
    Open repcsvmod & FichierCSV For Output As #2
    'boucle lecture fichier
    Do While Not EOF(1)
    Line Input #1, Buffer
    'mise en tableau infos
    Tableau = Split(Buffer, ";")
    Fin = UBound(Tableau)
    'boucle reecriture infos avec "
    For Point = 0 To Fin
    Tableau(Point) = Chr(34) & Tableau(Point) & Chr(34)
    Next Point
    'ecriture ligne
    Buffer1 = Join(Tableau, ";")
    ' ecriture fichier modifie
    Print #2, Buffer1
    Loop
    'fermeture des fichiers ouverts
    Close
    'liste fichier suivant
    FichierCSV = Dir
    Loop
    End Sub
    0