excelator2015
XLDnaute Nouveau
Bonjour,
Je souhaiterais fusionner plusieurs centaines de fichiers csv dans un seul fichier excel. Au total j'aurai plus d'1 million de lignes.
J'ai trouvé ce programme sur internet, je l'ai essayé sur excel 2000 et 2013 et dans les deux cas il s'arrête à 65635 lignes !
Const sSeparateur As String = ";"
Application.ScreenUpdating = False
sChemin = sDossier & "\"
sFichier = Dir$(sChemin & "*.csv")
Feuil1.Cells.Clear
Do While Len(sFichier) > 0
Set Wkb = Workbooks.Open(sChemin & sFichier)
LastRow = Wkb.Sheets(1).Cells(Wkb.Sheets(1).Rows.Count, 1).End(xlUp).Row
With Feuil1
For Each c In Wkb.Sheets(1).Range("A1:A" & LastRow)
iRow = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
Ar = Split(c, sSeparateur)
.Range(.Cells(iRow, 1), .Cells(iRow, UBound(Ar) + 1)).Value = Ar
Next c
End With
Wkb.Close
Set Wkb = Nothing
sFichier = Dir$()
Loop
Application.ScreenUpdating = True
End Sub
Sub SelDossierCSV()
With Application.FileDialog(msoFileDialogFolderPicker)
.InitialFileName = ThisWorkbook.Path & "\"
.Title = "Dossier CSV à traiter"
.AllowMultiSelect = False
.ButtonName = "Sélection Dossier"
.Show
If .SelectedItems.Count > 0 Then
DoEvents
ConcatenationCSV .SelectedItems(1)
End If
End With
End Sub
Je sais qu'excel 2000 est limité à 65000 lignes mais ce que je ne comprends c'est que s'arrête également à 65000 sur excel 2013.
Merci par avance de vos lumières et de votre aide !
Je souhaiterais fusionner plusieurs centaines de fichiers csv dans un seul fichier excel. Au total j'aurai plus d'1 million de lignes.
J'ai trouvé ce programme sur internet, je l'ai essayé sur excel 2000 et 2013 et dans les deux cas il s'arrête à 65635 lignes !
Const sSeparateur As String = ";"
Application.ScreenUpdating = False
sChemin = sDossier & "\"
sFichier = Dir$(sChemin & "*.csv")
Feuil1.Cells.Clear
Do While Len(sFichier) > 0
Set Wkb = Workbooks.Open(sChemin & sFichier)
LastRow = Wkb.Sheets(1).Cells(Wkb.Sheets(1).Rows.Count, 1).End(xlUp).Row
With Feuil1
For Each c In Wkb.Sheets(1).Range("A1:A" & LastRow)
iRow = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
Ar = Split(c, sSeparateur)
.Range(.Cells(iRow, 1), .Cells(iRow, UBound(Ar) + 1)).Value = Ar
Next c
End With
Wkb.Close
Set Wkb = Nothing
sFichier = Dir$()
Loop
Application.ScreenUpdating = True
End Sub
Sub SelDossierCSV()
With Application.FileDialog(msoFileDialogFolderPicker)
.InitialFileName = ThisWorkbook.Path & "\"
.Title = "Dossier CSV à traiter"
.AllowMultiSelect = False
.ButtonName = "Sélection Dossier"
.Show
If .SelectedItems.Count > 0 Then
DoEvents
ConcatenationCSV .SelectedItems(1)
End If
End With
End Sub
Je sais qu'excel 2000 est limité à 65000 lignes mais ce que je ne comprends c'est que s'arrête également à 65000 sur excel 2013.
Merci par avance de vos lumières et de votre aide !
Dernière modification par un modérateur: