Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3153 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Export CSV

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Export CSV

n°2148651
Peuwi
Posté le 09-07-2012 à 12:30:20  profilanswer
 

Hello,
 
question moisie que vous avez déjà du faire :
 
j'ai un beau classeur, et j'aimerais en sortir des CSV.
Seul problème, quand j'enregistre en csv :  
ActiveWorkbook.SaveAs FileName:=FileName, FileFormat:=xlCSV, CreateBackup:=False, Local:=True
il change le nom du classeur courant, or mon utilisateur voudrait continuer à bosser sur son fichier.
Je peux le ressauver en xls derrière, mais c'est foireux, faut aussi renommer l'onglet, et ca pose quelques problèmes de compatibilités de version :
ActiveWorkbook.SaveAs FileName:=FileName, FileFormat:="56", CreateBackup:=False
 
On doit pouvoir faire plus classe, non ?

mood
Publicité
Posté le 09-07-2012 à 12:30:20  profilanswer
 

n°2148844
Peuwi
Posté le 10-07-2012 à 11:50:32  profilanswer
 

Bon, je me réponds sur moi-même :
j'ai trouvé quantité de macros pour écrire un csv à la mano.
J'imagine qu'ils n'auraient pas fait ça s'il y avait un moyen d'écrire de faire proprement des exports csv.

n°2149191
kiki29
Posté le 13-07-2012 à 01:12:01  profilanswer
 

Salut, à adapter à ton contexte.
Un fichier CSV ne comporte qu'une feuille, si ton fichier XLS en comporte plusieurs il faudra sélectionner celle que l'on veut sauver en CSV.
Par défaut ici le fichier CSV portera la nom d'onglet de la feuille sélectionnée.

Option Explicit
 
Sub Tst()
Dim sNomCsv As String
Dim Wkb As Workbook
Dim Plage As Range
 
    Application.ScreenUpdating = False
     
    ChDir ThisWorkbook.Path
    sNomCsv = ThisWorkbook.ActiveSheet.Name & ".csv"
 
    Set Plage = ThisWorkbook.ActiveSheet.UsedRange
    Set Wkb = Workbooks.Add
 
    Plage.Copy Wkb.ActiveSheet.Range("A1" )
 
    Application.DisplayAlerts = False
    Wkb.SaveAs _
            Filename:=ThisWorkbook.Path & "\" & sNomCsv, _
            FileFormat:=xlCSV, Local:=True
    Wkb.Close
 
    With Application
        .DisplayAlerts = True
        .ScreenUpdating = True
    End With
 
    Set Plage = Nothing
    Set Wkb = Nothing
End Sub


Message édité par kiki29 le 13-07-2012 à 01:22:23

---------------
Myanmar 90/91 : http://gadaud.gerard.free.fr/publi [...] index.html
n°2158139
Peuwi
Posté le 25-09-2012 à 18:49:24  profilanswer
 

Ahh, je n'avais pas vu cette réponse !
C'est génial, tu crées un autre classeur que tu remplis, sauve, et ferme !
Bien que j'aie fini mon projet précédent avec la méthode crade sus-citée, je vais me faire un plaisir de le mettre à jour avec cette méthode classe.
 
Thx !!


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Export CSV

 

Sujets relatifs
Requête d'export de données Mysql vers fichier CSVExport requete oracle en CSV via la ligne de commande
supprimer les retour à la ligne pour export CSVExport CSV, variables justifiees et caracteres speciaux
Export CSV d'une table MySQL pas si triviale que ça.Outil d'import/export DB/CSV et XML => BPEL ?
Export en CSV[PHP]Problème de zone multiligne pour export CSV
Export de données d'une base MYSQL en CSVMySQL (export de données en fichier CSV) ?
Plus de sujets relatifs à : Export CSV


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR