lire et importer des données depuis un fichier txt

fred-bene

XLDnaute Occasionnel
Salut à tous.

Je cherche un moyen pour rappatrier des données depuis un fichier toto.txt dans une feuill excel via une macro. Là je bute sur le comment ouvrir et copier les données du fichier txt .....
Quelqu'un peut-il m'aider ?

Merci.

Fred
 

fred-bene

XLDnaute Occasionnel
Re : lire et importer des données depuis un fichier txt

Pas si simple que ça. Car si le fichier n'est pas là ça fout la grouille.

Je cherche en fait à copier les données de ce fichier txt dans un fichier excel et à le refermer.

Pour l'instant j'en suis là. Ca ouvre une fenêtre et demande de choisir le fichier. Moi le nom de fichier est toujours le même et je ne veux pas avoir à faire le choix.
--------------------------------------
Sub test()

Dim var1 As String
Dim fichier As String
var1 = "c:\"
fichier = Application.GetOpenFilename("Text Files (*.txt), *.txt")
Workbooks.OpenText (fichier)
End Sub
--------------------------------------
 

argon1515

XLDnaute Junior
Re : lire et importer des données depuis un fichier txt

Voici un exemple d'ouverture d'un fichier texte
'*** VARIABLES ***
Dim chemin As String
chemin = "C:\tmp\"
ChDir chemin
Workbooks.OpenText Filename:=chemin & "toto.txt", Origin:=xlMSDOS, _
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlNone, _
ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=True, Comma:=False _
, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 2), Array(2, 1), _
Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1), Array(9, 1), _
Array(10, 1)), TrailingMinusNumbers:=True, local:=True

Un exemple du fichier ouvert par le code ci dessus : toto.txt
3130092612;2;17/09/2007 08:51;23,001
3131447162;2;17/09/2007 09:09;23,001
3129718262;2;17/09/2007 09:12;11

A+
 

fred-bene

XLDnaute Occasionnel
Re : lire et importer des données depuis un fichier txt

Après creusage de tête, ça marche presque avec ce code là :

----------------------------
Sub test()

Dim var1 As String
Dim fichier As String
Dim Clalin As String, Clames As String
var1 = "c:\"
Clalin = ActiveWorkbook.Name
Workbooks.OpenText ("toto.txt")
Clames = ActiveWorkbook.Name
ActiveSheet.Cells.Copy
Workbooks(Clalin).Activate
Sheets.Add
ActiveSheet.Paste
Workbooks(Clames).Close
End Sub
----------------------------

Mais à la fin excel me demande si je veux ou non garder les infos dans le presse-papier. Grrrrrrrrrrr !
Et ça je ne trouve pas comment annuler cette demande.
 

Discussions similaires

Statistiques des forums

Discussions
312 503
Messages
2 089 053
Membres
104 013
dernier inscrit
VELONDAHY Mickaël