XL 2010 création de 250 fichiers csv en automatique

fredalien

XLDnaute Junior
Bonjour,
j'ai une base de données de 20 000 lignes environ. mais pour l'intégrer dans mon logiciel,
je dois transposer ces données vers 250 fichiers csv. je m'explique:
fichier exemple facettes = base de données, on y trouve Article, avec son modèle et ses facettes et leurs valeurs.
pour les importer, je dois créer un fichier csv par modèle (voir le modèle M1.xlsx). j'ai été obligé de le mettre en xlsx pour le télécharger sur le site, mais c'est bien du csv que je veux.

avez-vous une combine, car sinon, j'en ai pour des semaines à tout reprendre?

merci de votre aide
 

Fichiers joints

Staple1600

XLDnaute Barbatruc
Bonsoir le fil, le forum

Issu de mes archives
(avec un léger remaniement pour répondre à la question)
test OK sur W10 + XL 2013
VB:
Sub Export_Multi_CSV()
Dim Sh As Worksheet, tmp As Worksheet, Plg As Range, c As Range
Dim strPath As String
Dim Coll As New Collection, Itm As Variant
Application.ScreenUpdating = False
strPath = ThisWorkbook.Path & "\"
Set Sh = Worksheets("Feuil1")
Set Plg = Sh.Range(Sh.Cells(2, 2), Sh.Cells(Rows.Count, 2).End(3))
On Error Resume Next
  For Each c In Plg
  Coll.Add c.Value, CStr(c.Value)
  Next c
On Error GoTo 0
Set Plg = Sh.Range("A1:D" & Sh.Cells(Rows.Count, 1).End(3).Row)
  For Each Itm In Coll
  Set tmp = Worksheets.Add
    tmp.Name = Itm
    Plg.AutoFilter Field:=2, Criteria1:=Itm
    Plg.SpecialCells(xlCellTypeVisible).Copy tmp.Cells(1)
    tmp.Copy
    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs Filename:=strPath & Itm & ".csv", FileFormat:=xlCSV, local:=True
    ActiveWorkbook.Close
    Sheets(Itm).Delete
  Plg.AutoFilter
Next Itm
End Sub
 

Discussions similaires


Haut Bas