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
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