Importer fichier texte
Résolu
mizou00
Messages postés
36
Date d'inscription
Statut
Membre
Dernière intervention
-
Mytå Messages postés 2973 Date d'inscription Statut Contributeur Dernière intervention -
Mytå Messages postés 2973 Date d'inscription Statut Contributeur Dernière intervention -
bonsoir
je voudrais importer un long fichier texte avec 1000 colonnes environ,
je veux qu'il soit réparti sur plusieurs feuilles !
j'ai le code suivant mais ca ne marche pas
Sub Fichier_TXT_Volumineux()
Dim Resultat, Chemin As String
Dim Lecture As Integer
Dim Compteur As Variant
Chemin = Application.GetOpenFilename
If Chemin = "" Then End
Lecture = FreeFile()
Open Chemin For Input As #Lecture
Application.ScreenUpdating = False
Compteur = 1
Do While Seek(Lecture) <= LOF(Lecture)
Line Input #Lecture, Resultat
ActiveCell.Value = Resultat
If ActiveCell.Row = 65536 Or ActiveCell.Column = 256 Then
ActiveWorkbook.Sheets.Add
Else
ActiveCell.Offset(1, 0).Select
End If
Compteur = Compteur + 1
Loop
Close
Application.ScreenUpdating = True
End Sub
je voudrais importer un long fichier texte avec 1000 colonnes environ,
je veux qu'il soit réparti sur plusieurs feuilles !
j'ai le code suivant mais ca ne marche pas
Sub Fichier_TXT_Volumineux()
Dim Resultat, Chemin As String
Dim Lecture As Integer
Dim Compteur As Variant
Chemin = Application.GetOpenFilename
If Chemin = "" Then End
Lecture = FreeFile()
Open Chemin For Input As #Lecture
Application.ScreenUpdating = False
Compteur = 1
Do While Seek(Lecture) <= LOF(Lecture)
Line Input #Lecture, Resultat
ActiveCell.Value = Resultat
If ActiveCell.Row = 65536 Or ActiveCell.Column = 256 Then
ActiveWorkbook.Sheets.Add
Else
ActiveCell.Offset(1, 0).Select
End If
Compteur = Compteur + 1
Loop
Close
Application.ScreenUpdating = True
End Sub
A voir également:
- Importer fichier texte
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier .dat - Guide
20 réponses
Salut le forum
Sans savoir ce qui ne marche pas
Essaye de remplacer : Do While Seek(Lecture) <= LOF(Lecture)
Par : Do While Not EOF(Lecture)
Mytå
Sans savoir ce qui ne marche pas
Essaye de remplacer : Do While Seek(Lecture) <= LOF(Lecture)
Par : Do While Not EOF(Lecture)
Mytå
Re le forum
Ton extraction va mettre une ligne par ligne, je ne vois pas le rapport avec 256 colonnes surtout que ton titre parle de 1000 colonnes !
De plus tu incrémentes seulement la ligne Offset(rowOffset,columnOffset)
Mytå
Merci de donner suite à votre question, nous ne sommes pas des robots...
Versions installées [MsProject 2003(FR), Excel 2003-2007(FR)]
Ton extraction va mettre une ligne par ligne, je ne vois pas le rapport avec 256 colonnes surtout que ton titre parle de 1000 colonnes !
De plus tu incrémentes seulement la ligne Offset(rowOffset,columnOffset)
Mytå
Merci de donner suite à votre question, nous ne sommes pas des robots...
Versions installées [MsProject 2003(FR), Excel 2003-2007(FR)]
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Re le forum
Mizoum que contient comme valeurs ton fichier texte.
Un exemple d'une dizaine de lignes devrait suffire.
Mytå
Mizoum que contient comme valeurs ton fichier texte.
Un exemple d'une dizaine de lignes devrait suffire.
Mytå
je n'ai mis qu'une seule ligne et tous les colonnes j'ai pa pu mettes les valeurs
j'ai à peu près 700 lignes et 1031 colonnes
voila le lien
j'ai à peu près 700 lignes et 1031 colonnes
voila le lien
http://cjoint.com/?ikebklMyRy</code>
merci a toi
Re le forum
Mizou, une macro pour sur la base de ton fichier
Extraction de la ligne sur plusieurs lignes
Mytå
Mizou, une macro pour sur la base de ton fichier
Extraction de la ligne sur plusieurs lignes
Sub Fichier_TXT_Volumineux() Dim Resultat As String Dim Chemin As String Dim Lecture As Integer Dim Tableau() As String Dim i As Integer Chemin = Application.GetOpenFilename If Chemin = "" Then End Lecture = FreeFile() Open Chemin For Input As #Lecture Cells.Delete Cells(1, 1).Select Do While Not EOF(Lecture) Line Input #Lecture, Resultat If InStr(Resultat, "|") <> 0 Then Tableau = Split(Resultat, "|") For i = 0 To UBound(Tableau) ActiveCell = Tableau(i) ActiveCell.Offset(1, 0).Select Next i Else ActiveCell.Value = Resultat End If ActiveCell.Offset(1, 0).Select Loop End Sub
Mytå
je pense ke ca ne marche pas en tout ce n'est pas ce que je cherche à avoir
je l'ai testé il me liste tous le contenu du fichier dans la 1ere colonne.
J'ai besoin qu'il maffche les 256 premier colonnes dans feuille1 les second 256 colonne dans feuille2 ainsi de suite !
Merci beaucoup Myta
je l'ai testé il me liste tous le contenu du fichier dans la 1ere colonne.
J'ai besoin qu'il maffche les 256 premier colonnes dans feuille1 les second 256 colonne dans feuille2 ainsi de suite !
Merci beaucoup Myta
Re le forum
Mizou, un fichier excel avec 5 feuilles (Feuil1 à Feuil5)
Une macro pas optimisée mais fonctionelle
Mytå
Mizou, un fichier excel avec 5 feuilles (Feuil1 à Feuil5)
Une macro pas optimisée mais fonctionelle
Sub Fichier_TXT_Volumineux() Dim Resultat As String Dim Chemin As String Dim Lecture As Integer Dim Tableau() As String Dim i As Integer Dim Lig As Long Dim Col As Integer Dim Sh As Byte Chemin = Application.GetOpenFilename If Chemin = "" Then End Lecture = FreeFile() Open Chemin For Input As #Lecture Lig = 1: Col = 1: Sh = 1 Application.ScreenUpdating = False Do While Not EOF(Lecture) Line Input #Lecture, Resultat Lig = Lig + 1: Col = 1: Sh = 1 If InStr(Resultat, "|") <> 0 Then Tableau = Split(Resultat, "|") For i = 0 To UBound(Tableau) Sheets("Feuil" & Sh).Cells(Lig, Col) = Tableau(i) Col = Col + 1 If Col = 257 Then Col = 1: Sh = Sh + 1 End If Next i Else Sheets("Feuil" & Sh).Cells(Lig, Col) = Resultat Col = Col + 1 If Col = 256 Then Col = 1: Sh = Sh + 1 End If End If Loop Application.ScreenUpdating = True End Sub
Mytå
merci beaucoup mais je pense ke ca ne marche pas
je l'ai testé mail il maffiche ke "l'indice n'appartient pas à la selection" :(
je l'ai testé mail il maffiche ke "l'indice n'appartient pas à la selection" :(
Re le forum
Mizou, tu dois avoir déjà 5 feuilles dans ton classeur
Un fichier excel avec 5 feuilles (Feuil1 à Feuil5)
C'est une macro pas optimisée mais fonctionelle
Mytå
Merci de donner suite à votre question, nous ne sommes pas des robots...
Versions installées [MsProject 2003(FR), Excel 2003-2007(FR)]
Mizou, tu dois avoir déjà 5 feuilles dans ton classeur
Un fichier excel avec 5 feuilles (Feuil1 à Feuil5)
C'est une macro pas optimisée mais fonctionelle
Mytå
Merci de donner suite à votre question, nous ne sommes pas des robots...
Versions installées [MsProject 2003(FR), Excel 2003-2007(FR)]
oui ca marche :):):) merci merci beaucoup vous êtes super super sympa !!!
et si je devais ouvrir ces 5 feuilles dans un autre classeur (pas celui de là ou s'exécute la macro) et récupère ces 5 feuilles dans mon classeur (là ou s'exécute la macro) en les renommant par exemple feuille1=données(1) , feuille2=données(2) ainsi de suite
c possible ?
je vous remercie encore une fois et dsl pour le dérangement :)
et si je devais ouvrir ces 5 feuilles dans un autre classeur (pas celui de là ou s'exécute la macro) et récupère ces 5 feuilles dans mon classeur (là ou s'exécute la macro) en les renommant par exemple feuille1=données(1) , feuille2=données(2) ainsi de suite
c possible ?
je vous remercie encore une fois et dsl pour le dérangement :)
Re le forum
Pourquoi ne pas faire l'extraction directement dans ton vrai fichier
Modifie les lignes :
Sheets("Feuill" & Sh).Cells(Lig, Col)
par
Sheets("Données(" & Sh & ")").Cells(Lig, Col)
Ton classeur doit contenir les feuilles (Données(1) à Données(5))
Mytå
Pourquoi ne pas faire l'extraction directement dans ton vrai fichier
Modifie les lignes :
Sheets("Feuill" & Sh).Cells(Lig, Col)
par
Sheets("Données(" & Sh & ")").Cells(Lig, Col)
Ton classeur doit contenir les feuilles (Données(1) à Données(5))
Mytå
oui voila vous avez résolu mon probleme je vous en suis très reconnaissant merci beaucoup !
je vais continuer l'application et si çà coince je me tourneré vers vous :)
Merci Beaucoup
je vais continuer l'application et si çà coince je me tourneré vers vous :)
Merci Beaucoup
g un autre petit problème !!
je dois afficher une liste deroulante avec GSM et WCDMA donc 2 lignes
en dessous, en fonction du choix, il doit apparaitre des cases d'options
comme ceci :
------------------------------
GSM / WCDMA (sur 2 lignes)
------------------------------
O O
O O
O O
O O
O O
O O
O O
Les cases d'option de gauche ne doivent apparaitre que si on choisit GSM
Pareil pour WCDMA
Merci pour votre aide
je dois afficher une liste deroulante avec GSM et WCDMA donc 2 lignes
en dessous, en fonction du choix, il doit apparaitre des cases d'options
comme ceci :
------------------------------
GSM / WCDMA (sur 2 lignes)
------------------------------
O O
O O
O O
O O
O O
O O
O O
Les cases d'option de gauche ne doivent apparaitre que si on choisit GSM
Pareil pour WCDMA
Merci pour votre aide
Bonjour,
Il me semblait, qu'avant d'affirmer, on vérifiait.....
Clique sur F1
Tape "limites".....
Sous Excel2003, bien sûr
Bonne journée
Il me semblait, qu'avant d'affirmer, on vérifiait.....
Il me semblait que la limite etait de 65255 (ou 65256)
Clique sur F1
Tape "limites".....
Taille des feuilles de calcul 65 536 lignes et 256 colonnes
Sous Excel2003, bien sûr
Bonne journée