Problème pour récupérer la 65537° ligne d'un fichier csv
Résolu
Stcoeur
Messages postés
4
Statut
Membre
-
Stcoeur Messages postés 4 Statut Membre -
Stcoeur Messages postés 4 Statut Membre -
Bonjour,
Je travaille actuellement sur excel et des fichiers CSV ayant un volume important. Pour finaliser mon travail, je dois pouvoir récupérer 65536 lignes du fichier CSV à partir de n'importe quelle ligne.
Cependant, lorsque sous Excel je fais l'importation de données et que je sélectionne, par exemple la 60000° ligne, pour commencer mon importation, le fichier excel ne contiendra au final que 5536 lignes. De plus, si je demande de commencer l'importation à la 1000000° ligne par exemple, une erreur empêche l'importation.
En gros, le fichier CSV est traité par excel comme un fichier contenant le maximum de lignes autorisé par Excel 2003, et je me vois incapable d'atteindre les lignes après la 65536° lignes lors de l'importation de données.
Y'a-t-il donc moyen de remédier à ce problème?
Merci d'avance pour vos réponses.
Cordialement
Romain
Je travaille actuellement sur excel et des fichiers CSV ayant un volume important. Pour finaliser mon travail, je dois pouvoir récupérer 65536 lignes du fichier CSV à partir de n'importe quelle ligne.
Cependant, lorsque sous Excel je fais l'importation de données et que je sélectionne, par exemple la 60000° ligne, pour commencer mon importation, le fichier excel ne contiendra au final que 5536 lignes. De plus, si je demande de commencer l'importation à la 1000000° ligne par exemple, une erreur empêche l'importation.
En gros, le fichier CSV est traité par excel comme un fichier contenant le maximum de lignes autorisé par Excel 2003, et je me vois incapable d'atteindre les lignes après la 65536° lignes lors de l'importation de données.
Y'a-t-il donc moyen de remédier à ce problème?
Merci d'avance pour vos réponses.
Cordialement
Romain
A voir également:
- Problème pour récupérer la 65537° ligne d'un fichier csv
- Comment réduire la taille d'un fichier - Guide
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Forcer la suppression d'un fichier - Guide
3 réponses
Bonjour,
à tester :
Changer la constante du début, actuellement 3 lignes d'importées.
Ainsi que chemin et nom du fichier (si il varie beaucoup on pourra ajouter une boite de sélection)
Tenir compte des lignes de titres pour les lignes à passer.
Ne connaissant pas tes datas tout est importé en colonne A, il te reste à faire 'Convertir...' pour les répartir.
https://www.cjoint.com/?CFkm7hTec6e
eric
Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
à tester :
Sub importCSV()
Const nblig As Long = 3
Dim lig1 As Long, chemin As String, fichier As String, numfich As Long
Dim lig As Long, i As Long, j As Long, tmp As String
Dim datas()
chemin = "d:\tmp\"
fichier = "datas.csv"
lig1 = Application.InputBox("1ère ligne à importer ?", , 1, , , , , 1)
numfich = FreeFile
Open chemin & fichier For Input Lock Read Write As #numfich
' lecture lignes à passer
Do While Not EOF(numfich) And i < lig1 - 1
i = i + 1
Input #numfich, tmp
Loop
i = 0
' lecture lignes à importer
While Not EOF(numfich) And i < nblig
i = i + 1
ReDim Preserve datas(1 To i)
Input #numfich, tmp
datas(i) = tmp
Wend
Close #numfich
[A:A].ClearContents
[A1].Resize(i) = datas
End Sub
Changer la constante du début, actuellement 3 lignes d'importées.
Ainsi que chemin et nom du fichier (si il varie beaucoup on pourra ajouter une boite de sélection)
Tenir compte des lignes de titres pour les lignes à passer.
Ne connaissant pas tes datas tout est importé en colonne A, il te reste à faire 'Convertir...' pour les répartir.
https://www.cjoint.com/?CFkm7hTec6e
eric
Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
Hmm, j'ai testé et en fait il semblerait que
1. il n'y ai pas de changement lorsque la cellule est recopiée. En gros lorsque l'on recopie dans la colonne A, c'est toujours la même valeur qui ressort.
2. Ensuite quand je sélectionne une valeur dans la message box, ça ne me recopie pas les valeurs à partir de la k° ligne, mais de la k° colonne.
Je n'arrive pas à régler ces problèmes dans ton code
1. il n'y ai pas de changement lorsque la cellule est recopiée. En gros lorsque l'on recopie dans la colonne A, c'est toujours la même valeur qui ressort.
2. Ensuite quand je sélectionne une valeur dans la message box, ça ne me recopie pas les valeurs à partir de la k° ligne, mais de la k° colonne.
Je n'arrive pas à régler ces problèmes dans ton code