XL 2013 Exporter plusieurs informations en differents CSV

jujudeo

XLDnaute Nouveau
Bonjour à toutes et à tous, j'appelle a vos connaissances....

Je réalise une macro pour automatiser l'export de différentes données en plusieurs CSV.

J'ai réussi a créer ma macro pour l'import des données, le traitement de celles-ci, etc...
Maintenant vient le moment de l'export et c'est la ou je coince ::( ::(
Comme vous pouvez le voir en PJ, il y a plusieurs type de données ( maximum 10 différentes) dans la colonne A : BT, HT, EU, EP.... Mon but est de faire un CSV pour chaque type de données.
Pour l'instant, j'ai réussi a faire l'export en CSV de toute la feuille, mais je n'arrive pas a exporter un CSV pour chaque type de données...

En vous remerciant par avance

Jujudeo

Code:
Sub Exporter() 'copie sauvegarde rapport
Application.ScreenUpdating = False
    
Dim nom, chemin As String
   
nom = InputBox("Nom du fichier ?", "nom")
    chemincsv = ThisWorkbook.Path & "\Export\" & nom & ".csv"
    rep = MsgBox("La feuille excel a été exportée sous : " & nom)
   
Worksheets("Feuil1").Select
Dim Plage As Object, oL As Object, oC As Object, Tmp As String, Sep$
Sep = ";"
Set Plage = ActiveSheet.Range("A1:AH" & ActiveSheet.Range("A65000").End(3).Row)
Open chemincsv For Output As #1
For Each oL In Plage.Rows
Tmp = ""
For Each oC In oL.Cells
Tmp = Tmp & CStr(oC.Text) & Sep
Next
Print #1, Tmp
Next
Close

Application.DisplayAlerts = False
End Sub
 

Pièces jointes

  • Import DETECTION IC.xlsm
    53.4 KB · Affichages: 25

zebanx

XLDnaute Accro
Bonjour Jujudeo, le forum

Comme vous pouvez le voir en PJ, il y a plusieurs type de données ( maximum 10 différentes) dans la colonne A : BT, HT, EU, EP.... Mon but est de faire un CSV pour chaque type de données.


Une solution alternative.
On déconsolide chaque colonne en "sheet" et on exporte chaque "sheet" en csv avec le nom de la rubrique de la colonne.

Les fichiers csv sont enregistrés dans le même folder (répertoire) que le fichier source.

xl-ment
zebanx
 

Pièces jointes

  • fichier_deconsolider et export colonne csv.xls
    50 KB · Affichages: 28

job75

XLDnaute Barbatruc
Bonjour jujudeo, zebanx,
Code:
Sub Export_type()
Dim chemin$, t, d As Object, i&, wb As Workbook
chemin = ThisWorkbook.Path & "\" 'à adapter
With Feuil1.[A1].CurrentRegion
    '---liste des types sans doublons---
    t = .Value 'matrice, plus rapide
    Set d = CreateObject("Scripting.Dictionary")
    d.CompareMode = vbTextCompare 'la casse est ignorée
    For i = 2 To UBound(t)
        If t(i, 1) <> "" Then d(t(i, 1)) = ""
    Next
    If d.Count = 0 Then Exit Sub
    '---création des fichiers CSV---
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    t = d.keys
    For i = 0 To UBound(t)
        .AutoFilter 1, t(i) 'filtre automatique
        Set wb = Workbooks.Add(xlWBATWorksheet)
        .Copy wb.Sheets(1).[A1]
        wb.SaveAs chemin & UCase(t(i)) & ".csv", xlCSV
        wb.Close
        .AutoFilter
    Next
End With
End Sub
A+
 

Discussions similaires

Réponses
4
Affichages
1 K

Statistiques des forums

Discussions
312 217
Messages
2 086 352
Membres
103 195
dernier inscrit
martel.jg