Importer un fichier texte dans une feuille

hemerode

XLDnaute Junior
Bonsoir à tous,

j'ai réussi à importer un fichier texte dans mon classeur en suivant l'exemple du lien.
VBA-excel : code pour ouvrir un fichier txt sous excel - VB - VBA - Programmation - FORUM Rue-Montgallet.com

Mais Je veux que l'importation commence à partir de la cellule A2.
j'ai donc changé: iCol = 0
Et je constate qu'il y a une erreur.
Merci pour vos suggestions.

Voici ma macro
'----------------------------------------------------
Option Explicit

Sub Tst()
Dim Fichier As Variant
ChDir ThisWorkbook.Path
Fichier = Application.GetOpenFilename("Text Files (*.txt), *.txt" )
If Fichier <> False Then
Lire Fichier
End If
End Sub

Function Lire(ByVal NomFichier As String)
Dim Chaine As String
Dim Ar() As String
Dim i As Long
Dim iRow As Long, iCol As Long
Dim NumFichier As Integer
Dim Separateur As String * 1

' Séparateur Tabulation
Separateur = Chr(9)

Range("A2:C10").ClearContents
NumFichier = FreeFile
iRow = 2

Open NomFichier For Input As #NumFichier
Do While Not EOF(NumFichier)
iCol = 1
Line Input #NumFichier, Chaine
Ar = Split(Chaine, Separateur)
For i = LBound(Ar) To UBound(Ar)
Cells(iRow, iCol) = Ar(i)
iCol = iCol + 1
Next
iRow = iRow + 1
Loop
Close #NumFichier
End Function
 

Staple1600

XLDnaute Barbatruc
Re : Importer un fichier texte dans une feuille

Bonsoir

Mais Je veux que l'importation commence à partir de la cellule A2.
ICol
Col comme colonne

IRow
Row comme ligne en anglais

Donc tu vois ou je veux en venir ;)

PS: Pourquoi ne pas utiliser l'assistant d'importation de fichier d'Excel ?
(utilisable en VBA)
Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 23/07/2011 par EXCEL
'

'
Workbooks.OpenText Filename:="C:\test.txt", _
Origin:=xlWindows, StartRow:=2, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _
Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(1, 1), _
TrailingMinusNumbers:=True
End Sub
 
Dernière édition:

hemerode

XLDnaute Junior
Re : Importer un fichier texte dans une feuille

je souhaite commencer l'importation à partir de la cellule A2.
Donc dans la macro j'ai mis "iCol = 0".
Lorsque je met :"iCol = 1". ça fonctionne, sauf que l'importation commence à la cellule B2.

Merci
 

hemerode

XLDnaute Junior
Re : Importer un fichier texte dans une feuille

je souhaite commencer l'importation à partir de la cellule A2.
Donc dans la macro j'ai mis "iCol = 0".
Lorsque je met :"iCol = 1". ça fonctionne, sauf que l'importation commence à la cellule B2.

Merci
 

hemerode

XLDnaute Junior
Re : Importer un fichier texte dans une feuille

J'ai utilisé l'assistant d'importation de fichier d'Excel.
L'importation se fait dans un nouveau classeur. Je voudrais que l'importation dans le classeur actif.
Je suis un débutant en VBA.

Concernant ma macros:
A2 = ligne 2 colonne 1
B2= ligne 2 colonne 2

J'avais fait ceci:
ICol=0
IRow=1
Mais ça n'a pas fonctionné.
 

Staple1600

XLDnaute Barbatruc
Re : Importer un fichier texte dans une feuille

Re


Pour copier daans le classeur actif, tu peux faire ainsi
Code:
Sub Macro11()
'
' Macro1 Macro
' Macro enregistrée le 23/07/2011 par EXCEL
'

Dim s_wb As Workbook
Workbooks.OpenText Filename:="C:\test.txt", _
        Origin:=xlWindows, StartRow:=2, DataType:=xlDelimited, TextQualifier:= _
        xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _
        Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(1, 1), _
        TrailingMinusNumbers:=True
Set s_wb = ActiveWorkbook
s_wb.Sheets(1).UsedRange.Copy ThisWorkbook.Sheets(1).Range("A1")
s_wb.Close False
End Sub

Il faut adapter le nom du fichier et le chemin
Dans mon exempe, j'ai pris C:\test.txt
 

hemerode

XLDnaute Junior
Re : Importer un fichier texte dans une feuille

Bonjour Staple1600

J'ai vu mon erreur dans la macro d'exportation de fichier texte.
En fait le ficher exporté était comme ceci:
;1;2
;2;4
;4;2
C'est la raison pour laquelle la colonne A restait vide.

Merci.
 

Statistiques des forums

Discussions
312 195
Messages
2 086 078
Membres
103 111
dernier inscrit
Eric68350