je dois ouvrir un fichier ascii enorme qui contient + de 100 000 lignes,
comment puis-je m'y prendre ? Existe t'il dans les fontes de qq'un une macro
d'ouverture de fichier ascii (séparateur ';') qui passe à la feuille
suivante si y'a pas la place ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Pierre Fauconnier
Bonjour
Tu peux essayer avec MSQuery, en définissant des critères de recherche. Sinon, en VBA, ouvrir le fichier et importer chaque ligne en comptant via une boucle...
Si MSQuery ne convient pas, revies, on trouvera bien une macro
-- Cela convient-il? ---- Pierre Fauconnier "C'est lorsqu'il y a un temps mort qu'il faut tuer le temps..." (remplacer NOSPAM par pfi pour me répondre. Merci) John Fuss wrote:
Bonjour,
je dois ouvrir un fichier ascii enorme qui contient + de 100 000 lignes, comment puis-je m'y prendre ? Existe t'il dans les fontes de qq'un une macro d'ouverture de fichier ascii (séparateur ';') qui passe à la feuille suivante si y'a pas la place ?
Merci d'avance.
John.
Bonjour
Tu peux essayer avec MSQuery, en définissant des critères de recherche.
Sinon, en VBA, ouvrir le fichier et importer chaque ligne en comptant via
une boucle...
Si MSQuery ne convient pas, revies, on trouvera bien une macro
--
Cela convient-il?
----
Pierre Fauconnier
"C'est lorsqu'il y a un temps mort qu'il faut tuer le temps..."
(remplacer NOSPAM par pfi pour me répondre. Merci)
John Fuss wrote:
Bonjour,
je dois ouvrir un fichier ascii enorme qui contient + de 100 000
lignes, comment puis-je m'y prendre ? Existe t'il dans les fontes de
qq'un une macro d'ouverture de fichier ascii (séparateur ';') qui
passe à la feuille suivante si y'a pas la place ?
Tu peux essayer avec MSQuery, en définissant des critères de recherche. Sinon, en VBA, ouvrir le fichier et importer chaque ligne en comptant via une boucle...
Si MSQuery ne convient pas, revies, on trouvera bien une macro
-- Cela convient-il? ---- Pierre Fauconnier "C'est lorsqu'il y a un temps mort qu'il faut tuer le temps..." (remplacer NOSPAM par pfi pour me répondre. Merci) John Fuss wrote:
Bonjour,
je dois ouvrir un fichier ascii enorme qui contient + de 100 000 lignes, comment puis-je m'y prendre ? Existe t'il dans les fontes de qq'un une macro d'ouverture de fichier ascii (séparateur ';') qui passe à la feuille suivante si y'a pas la place ?
Merci d'avance.
John.
John Fuss
Merci, je suis en train de négocier en parallèle d'obtenir le fameux fichier scindé par famille.
Merci
John
"Pierre Fauconnier" a écrit dans le message de news:3f7be759$0$24174$
Bonjour
Tu peux essayer avec MSQuery, en définissant des critères de recherche. Sinon, en VBA, ouvrir le fichier et importer chaque ligne en comptant via une boucle...
Si MSQuery ne convient pas, revies, on trouvera bien une macro
-- Cela convient-il? ---- Pierre Fauconnier "C'est lorsqu'il y a un temps mort qu'il faut tuer le temps..." (remplacer NOSPAM par pfi pour me répondre. Merci) John Fuss wrote:
Bonjour,
je dois ouvrir un fichier ascii enorme qui contient + de 100 000 lignes, comment puis-je m'y prendre ? Existe t'il dans les fontes de qq'un une macro d'ouverture de fichier ascii (séparateur ';') qui passe à la feuille suivante si y'a pas la place ?
Merci d'avance.
John.
Merci, je suis en train de négocier en parallèle d'obtenir le fameux fichier
scindé par famille.
Merci
John
"Pierre Fauconnier" <pierre.fauconnier@pfi.be> a écrit dans le message de
news:3f7be759$0$24174$ba620e4c@reader0.news.skynet.be...
Bonjour
Tu peux essayer avec MSQuery, en définissant des critères de recherche.
Sinon, en VBA, ouvrir le fichier et importer chaque ligne en comptant via
une boucle...
Si MSQuery ne convient pas, revies, on trouvera bien une macro
--
Cela convient-il?
----
Pierre Fauconnier
"C'est lorsqu'il y a un temps mort qu'il faut tuer le temps..."
(remplacer NOSPAM par pfi pour me répondre. Merci)
John Fuss wrote:
Bonjour,
je dois ouvrir un fichier ascii enorme qui contient + de 100 000
lignes, comment puis-je m'y prendre ? Existe t'il dans les fontes de
qq'un une macro d'ouverture de fichier ascii (séparateur ';') qui
passe à la feuille suivante si y'a pas la place ?
Merci, je suis en train de négocier en parallèle d'obtenir le fameux fichier scindé par famille.
Merci
John
"Pierre Fauconnier" a écrit dans le message de news:3f7be759$0$24174$
Bonjour
Tu peux essayer avec MSQuery, en définissant des critères de recherche. Sinon, en VBA, ouvrir le fichier et importer chaque ligne en comptant via une boucle...
Si MSQuery ne convient pas, revies, on trouvera bien une macro
-- Cela convient-il? ---- Pierre Fauconnier "C'est lorsqu'il y a un temps mort qu'il faut tuer le temps..." (remplacer NOSPAM par pfi pour me répondre. Merci) John Fuss wrote:
Bonjour,
je dois ouvrir un fichier ascii enorme qui contient + de 100 000 lignes, comment puis-je m'y prendre ? Existe t'il dans les fontes de qq'un une macro d'ouverture de fichier ascii (séparateur ';') qui passe à la feuille suivante si y'a pas la place ?
Merci d'avance.
John.
John Fuss
Donc la solution etait l'ouverture ne mode text, et ensuite d'écrire les lignes 1 par 1 jusqu'à atteindre la fin de la feuille excel en cours, d'en créé une autre et de continuer. Je m'arrête à 65500 lignes car je veux faire des regroupements pour réorganiser les lignes par famille.
Sub OuvrirT13() Dim strLigne As String, i As Integer, tabl() As String, strEnTete As String Dim numSheet As Integer, cpt As Long, t13 As Integer, fichier As String t13 = FreeFile
fichier = Application.GetOpenFilename("Fichier t013 (*.asc), *.asc") 'fenetre d'ouverture de fichier If Mid(fichier, 2, 1) = ":" Then Sheets.Add before:=Sheets(1) Sheets(1).Name = "1" Application.DisplayAlerts = False For i = Sheets.Count To 2 Step -1 Sheets(i).Delete Next Application.DisplayAlerts = True Open fichier For Input As #t13 'ouvert en lecture Line Input #t13, strEnTete numSheet = 0 cpt = 70000 Do While Not EOF(t13) cpt = cpt + 1 If cpt < 65500 Then 'Données Line Input #t13, strLigne tabl = Split(strLigne, ";") Sheets(numSheet).Cells(cpt, 1).Select For i = 1 To UBound(tabl) + 1 Sheets(numSheet).Cells(cpt, i).Formula = tabl(i - 1) Next Else 'EnTetes cpt = 1 numSheet = numSheet + 1 If Sheets.Count < numSheet Then Sheets.Add after:=Sheets(Sheets.Count) Sheets(Sheets.Count).Name = Sheets.Count Sheets(Sheets.Count).Select End If 'Mise en place des entetes tabl = Split(strEnTete, ";") For i = 1 To UBound(tabl) + 1 Sheets(numSheet).Cells(cpt, i).Formula = tabl(i - 1) Next 'Fin mise en place des entetes End If Loop End If End Sub
"John Fuss" a écrit dans le message de news:blgp58$v6h$
Merci, je suis en train de négocier en parallèle d'obtenir le fameux fichier
scindé par famille.
Merci
John
"Pierre Fauconnier" a écrit dans le message de news:3f7be759$0$24174$
Bonjour
Tu peux essayer avec MSQuery, en définissant des critères de recherche. Sinon, en VBA, ouvrir le fichier et importer chaque ligne en comptant via
une boucle...
Si MSQuery ne convient pas, revies, on trouvera bien une macro
-- Cela convient-il? ---- Pierre Fauconnier "C'est lorsqu'il y a un temps mort qu'il faut tuer le temps..." (remplacer NOSPAM par pfi pour me répondre. Merci) John Fuss wrote:
Bonjour,
je dois ouvrir un fichier ascii enorme qui contient + de 100 000 lignes, comment puis-je m'y prendre ? Existe t'il dans les fontes de qq'un une macro d'ouverture de fichier ascii (séparateur ';') qui passe à la feuille suivante si y'a pas la place ?
Merci d'avance.
John.
Donc la solution etait l'ouverture ne mode text, et ensuite d'écrire les
lignes 1 par 1 jusqu'à atteindre la fin de la feuille excel en cours, d'en
créé une autre et de continuer. Je m'arrête à 65500 lignes car je veux faire
des regroupements pour réorganiser les lignes par famille.
Sub OuvrirT13()
Dim strLigne As String, i As Integer, tabl() As String, strEnTete As
String
Dim numSheet As Integer, cpt As Long, t13 As Integer, fichier As String
t13 = FreeFile
fichier = Application.GetOpenFilename("Fichier t013 (*.asc), *.asc")
'fenetre d'ouverture de fichier
If Mid(fichier, 2, 1) = ":" Then
Sheets.Add before:=Sheets(1)
Sheets(1).Name = "1"
Application.DisplayAlerts = False
For i = Sheets.Count To 2 Step -1
Sheets(i).Delete
Next
Application.DisplayAlerts = True
Open fichier For Input As #t13 'ouvert en lecture
Line Input #t13, strEnTete
numSheet = 0
cpt = 70000
Do While Not EOF(t13)
cpt = cpt + 1
If cpt < 65500 Then 'Données
Line Input #t13, strLigne
tabl = Split(strLigne, ";")
Sheets(numSheet).Cells(cpt, 1).Select
For i = 1 To UBound(tabl) + 1
Sheets(numSheet).Cells(cpt, i).Formula = tabl(i - 1)
Next
Else 'EnTetes
cpt = 1
numSheet = numSheet + 1
If Sheets.Count < numSheet Then
Sheets.Add after:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = Sheets.Count
Sheets(Sheets.Count).Select
End If
'Mise en place des entetes
tabl = Split(strEnTete, ";")
For i = 1 To UBound(tabl) + 1
Sheets(numSheet).Cells(cpt, i).Formula = tabl(i - 1)
Next
'Fin mise en place des entetes
End If
Loop
End If
End Sub
"John Fuss" <newskob650@yahoo.fr> a écrit dans le message de
news:blgp58$v6h$1@s1.read.news.oleane.net...
Merci, je suis en train de négocier en parallèle d'obtenir le fameux
fichier
scindé par famille.
Merci
John
"Pierre Fauconnier" <pierre.fauconnier@pfi.be> a écrit dans le message de
news:3f7be759$0$24174$ba620e4c@reader0.news.skynet.be...
Bonjour
Tu peux essayer avec MSQuery, en définissant des critères de recherche.
Sinon, en VBA, ouvrir le fichier et importer chaque ligne en comptant
via
une boucle...
Si MSQuery ne convient pas, revies, on trouvera bien une macro
--
Cela convient-il?
----
Pierre Fauconnier
"C'est lorsqu'il y a un temps mort qu'il faut tuer le temps..."
(remplacer NOSPAM par pfi pour me répondre. Merci)
John Fuss wrote:
Bonjour,
je dois ouvrir un fichier ascii enorme qui contient + de 100 000
lignes, comment puis-je m'y prendre ? Existe t'il dans les fontes de
qq'un une macro d'ouverture de fichier ascii (séparateur ';') qui
passe à la feuille suivante si y'a pas la place ?
Donc la solution etait l'ouverture ne mode text, et ensuite d'écrire les lignes 1 par 1 jusqu'à atteindre la fin de la feuille excel en cours, d'en créé une autre et de continuer. Je m'arrête à 65500 lignes car je veux faire des regroupements pour réorganiser les lignes par famille.
Sub OuvrirT13() Dim strLigne As String, i As Integer, tabl() As String, strEnTete As String Dim numSheet As Integer, cpt As Long, t13 As Integer, fichier As String t13 = FreeFile
fichier = Application.GetOpenFilename("Fichier t013 (*.asc), *.asc") 'fenetre d'ouverture de fichier If Mid(fichier, 2, 1) = ":" Then Sheets.Add before:=Sheets(1) Sheets(1).Name = "1" Application.DisplayAlerts = False For i = Sheets.Count To 2 Step -1 Sheets(i).Delete Next Application.DisplayAlerts = True Open fichier For Input As #t13 'ouvert en lecture Line Input #t13, strEnTete numSheet = 0 cpt = 70000 Do While Not EOF(t13) cpt = cpt + 1 If cpt < 65500 Then 'Données Line Input #t13, strLigne tabl = Split(strLigne, ";") Sheets(numSheet).Cells(cpt, 1).Select For i = 1 To UBound(tabl) + 1 Sheets(numSheet).Cells(cpt, i).Formula = tabl(i - 1) Next Else 'EnTetes cpt = 1 numSheet = numSheet + 1 If Sheets.Count < numSheet Then Sheets.Add after:=Sheets(Sheets.Count) Sheets(Sheets.Count).Name = Sheets.Count Sheets(Sheets.Count).Select End If 'Mise en place des entetes tabl = Split(strEnTete, ";") For i = 1 To UBound(tabl) + 1 Sheets(numSheet).Cells(cpt, i).Formula = tabl(i - 1) Next 'Fin mise en place des entetes End If Loop End If End Sub
"John Fuss" a écrit dans le message de news:blgp58$v6h$
Merci, je suis en train de négocier en parallèle d'obtenir le fameux fichier
scindé par famille.
Merci
John
"Pierre Fauconnier" a écrit dans le message de news:3f7be759$0$24174$
Bonjour
Tu peux essayer avec MSQuery, en définissant des critères de recherche. Sinon, en VBA, ouvrir le fichier et importer chaque ligne en comptant via
une boucle...
Si MSQuery ne convient pas, revies, on trouvera bien une macro
-- Cela convient-il? ---- Pierre Fauconnier "C'est lorsqu'il y a un temps mort qu'il faut tuer le temps..." (remplacer NOSPAM par pfi pour me répondre. Merci) John Fuss wrote:
Bonjour,
je dois ouvrir un fichier ascii enorme qui contient + de 100 000 lignes, comment puis-je m'y prendre ? Existe t'il dans les fontes de qq'un une macro d'ouverture de fichier ascii (séparateur ';') qui passe à la feuille suivante si y'a pas la place ?
Merci d'avance.
John.
FB
Essaie un code de ce genre
Workbooks.OpenText Filename:="chemin du fichier",_ Origin:=xlWindows, _ StartRow:=1, DataType:=xlDelimited,_ TextQualifier:=xlDoubleQuote
-----Message d'origine----- Bonjour,
je dois ouvrir un fichier ascii enorme qui contient + de 100 000 lignes,
comment puis-je m'y prendre ? Existe t'il dans les fontes de qq'un une macro
d'ouverture de fichier ascii (séparateur ';') qui passe à la feuille
suivante si y'a pas la place ?
Merci d'avance.
John.
.
Essaie un code de ce genre
Workbooks.OpenText Filename:="chemin du fichier",_
Origin:=xlWindows, _
StartRow:=1, DataType:=xlDelimited,_
TextQualifier:=xlDoubleQuote
-----Message d'origine-----
Bonjour,
je dois ouvrir un fichier ascii enorme qui contient + de
100 000 lignes,
comment puis-je m'y prendre ? Existe t'il dans les fontes
de qq'un une macro
d'ouverture de fichier ascii (séparateur ';') qui passe à
la feuille
Workbooks.OpenText Filename:="chemin du fichier",_ Origin:=xlWindows, _ StartRow:=1, DataType:=xlDelimited,_ TextQualifier:=xlDoubleQuote
-----Message d'origine----- Bonjour,
je dois ouvrir un fichier ascii enorme qui contient + de 100 000 lignes,
comment puis-je m'y prendre ? Existe t'il dans les fontes de qq'un une macro
d'ouverture de fichier ascii (séparateur ';') qui passe à la feuille
suivante si y'a pas la place ?
Merci d'avance.
John.
.
Gilgamesh
"John Fuss" a écrit dans le message de news: blgl6e$rji$
Bonjour,
je dois ouvrir un fichier ascii enorme qui contient + de 100 000 lignes, comment puis-je m'y prendre ? Existe t'il dans les fontes de qq'un une macro
d'ouverture de fichier ascii (séparateur ';') qui passe à la feuille suivante si y'a pas la place ?
-- Je ne dis pas que ma solution est idéale... mais c'est la mienne, confrontée à une situation analogue.
J'ai installé Edit Pad, une sorte de bloc note amélioré que je trouve très très pratique. Je colle le .CSV dedans. Une petite option (Shift+F11) permet de numéroter les ligne. Je peut ainsi coller séparément dans 2 feuille Excel.
On peut aussi en profiter pour faire Rechercher ";" Remplacer par <TAB>, c'est parfois plus rapide qu'en passant par le Convertir d'Excel.
A+
"John Fuss" <newskob650@yahoo.fr> a écrit dans le message de news:
blgl6e$rji$1@s1.read.news.oleane.net...
Bonjour,
je dois ouvrir un fichier ascii enorme qui contient + de 100 000 lignes,
comment puis-je m'y prendre ? Existe t'il dans les fontes de qq'un une
macro
d'ouverture de fichier ascii (séparateur ';') qui passe à la feuille
suivante si y'a pas la place ?
-- Je ne dis pas que ma solution est idéale... mais c'est la mienne,
confrontée à une situation analogue.
J'ai installé Edit Pad, une sorte de bloc note amélioré que je trouve très
très pratique. Je colle le .CSV dedans. Une petite option (Shift+F11) permet
de numéroter les ligne. Je peut ainsi coller séparément dans 2 feuille
Excel.
On peut aussi en profiter pour faire Rechercher ";" Remplacer par <TAB>,
c'est parfois plus rapide qu'en passant par le Convertir d'Excel.
"John Fuss" a écrit dans le message de news: blgl6e$rji$
Bonjour,
je dois ouvrir un fichier ascii enorme qui contient + de 100 000 lignes, comment puis-je m'y prendre ? Existe t'il dans les fontes de qq'un une macro
d'ouverture de fichier ascii (séparateur ';') qui passe à la feuille suivante si y'a pas la place ?
-- Je ne dis pas que ma solution est idéale... mais c'est la mienne, confrontée à une situation analogue.
J'ai installé Edit Pad, une sorte de bloc note amélioré que je trouve très très pratique. Je colle le .CSV dedans. Une petite option (Shift+F11) permet de numéroter les ligne. Je peut ainsi coller séparément dans 2 feuille Excel.
On peut aussi en profiter pour faire Rechercher ";" Remplacer par <TAB>, c'est parfois plus rapide qu'en passant par le Convertir d'Excel.