fichier csv volumineux

grotsblues

XLDnaute Occasionnel
Bonsoir le forum

J'ai un fichier csv volumineux pour ouvrir avec excel 2003, en cherchant sur les forums, j'ai trouvé un code vba que j'ai adapte, mais que je lance le code j'ai un message d'erreur (erreur d'execution 6 depassement de capacite ) je n'arrive pas à comprendre

merci pour votre aide

Sub DecouperFichier()
Dim Tbl()
Dim Chemin As String
Dim Fichier As String
Dim i As Integer
Dim J As Integer
Dim K As Integer
'adapter le chemin...
'Chemin = "F:\"
Chemin = "E:\"

Fichier = "AR 072017.csv"
'ouvre pour lecture
'Open Chemin & Fichier & ".csv" For Input As #1
Open Chemin & "AR 072017.csv" For Input As #1
'stocke dans un tableau
Do While Not EOF(1)
i = i + 1
ReDim Preserve Tbl(1 To i)
Input #1, Tbl(i)
Loop
'puis le referme
Close #1
'défini le nombre de fichiers nécessaires
If UBound(Tbl) / 1048570 <> Int(UBound(Tbl) / 1048570) Then
K = Int(UBound(Tbl) / 1048570) + 1
Else
K = Int(UBound(Tbl) / 1048570)
End If
i = 1
'boucle et réparti les valeurs
For J = 1 To K
'Open Chemin & Fichier & "_" & J & ".csv" For Output As #1
Open Chemin & "AR 072017.csv" & "_" & J & "AR 072017.csv" For Output As #1
'gère l'erreur de l'indice hors tableau
'sur le dernier fichier
On Error Resume Next
For i = i To i + 1048570
Print #1, Tbl(i)
Next i
Close #1
Next J
End Sub
 

eriiic

XLDnaute Barbatruc
Bonjour,

1048570 est le nombre de lignes d'un xlsx, je suppose que tu as récupéré un code pour excel >=2007
Pour 2003 remplace par 65530.
Mais il faut lire par ligne entière. Le code que tu as trouvé devait traiter des fichiers considérés n'ayant qu'un seul champ par ligne.
Il vaut mieux expliquer son besoin plutôt que mettre un code pris au hasard qu'on ne comprend pas.
eric
 
Dernière édition:

grotsblues

XLDnaute Occasionnel
bonsoir et merci pour votre aide en effet j'ai voulu chercher sur les forums en pensant bien faire et étant débutant je ne comprends pas tous les code. Le code que DRANREB fonctionne bien mais j'ai constaté que dans les fichiers , j' ai des lignes que je n'ai pas besoin. Alors peut on faire un filtre sur la colonne 23 avant l'enregistrement des fichiers
Pour info j'utilise excel 2007
merci pour vos réponse
 

Discussions similaires

Réponses
11
Affichages
313

Statistiques des forums

Discussions
312 370
Messages
2 087 689
Membres
103 639
dernier inscrit
NIEMASAFI