[VBA-E]import fichier TXT et séparateur
Avec ce code j'arrive à ouvrir un fichier txt, mais les séparateurs "tab" ne sont pas pris en compte. Tout et mis en colonne A
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
Sub ImporterFichier()
Dim strFiles
'Affiche la boîte de dialogue Ouvrir
strFiles = Application.GetOpenFilename _
(FileFilter:="Fichier texte(*.txt),*.txt" _
, Title:="Sélectionnez le fichier à ouvrir")
'Inscrit le chemin et le nom du fichier ouvert
Dim r, Data
Range("A1").Select
On Error GoTo Annuler
Open strFiles For Input As #1
r = 0
Do Until EOF(1)
Line Input #1, Data
ActiveCell.Offset(r, 0) = Data
r = r + 1
Loop
Close #1
GoTo Suite
Annuler: MsgBox "Vous n'avez sélectionner aucun fichier"
Range("A1") = ""
Suite:
End Sub |
import fichier TXT et séparateur
J'ai résolu le problème comme ceci et maintenant mes données apparaissent bien dans chaque colonne.
Qu'en pensez vous ? est ce plus clair ?
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
Sub ImporterFichier()
Dim strFiles
'Affiche la boîte de dialogue Ouvrir
strFiles = Application.GetOpenFilename _
(FileFilter:="Fichier texte(*.txt),*.txt" _
, Title:="Sélectionnez le fichier à ouvrir")
'Inscrit le chemin et le nom du fichier ouvert
Dim r, Data
Range("A1").Select
On Error GoTo Annuler
Workbooks.OpenText Filename:=strFiles, _
DataType:=xlDelimited, Tab:=True
GoTo Suite
Annuler: MsgBox "Vous n'avez sélectionner aucun fichier"
Range("A1") = ""
Suite:
End Sub |
import fichier TXT et séparateur
Désolé mais je ne vois pas où, à quel endroit ? dans le premier ou dans le deuxième code ?
Dans le deuxième code, je viens de m'appercevoir que j'ai trop vite crié victoire car si mon data se réparti correctement en lignes et colonnes, il le fait dans un nouveau classeur, alors que je le voudrais dans la feuille active.
import fichier TXT et séparateur
Aprés avoir revisité le forum je pense avoir trouvé comment réaliser l'ouverture du fichier txt dans la feuille active.
Voilà le code final :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
Sub ImporterFichier()
'----------------------------------------------------------------
' Import d'un fichier texte dans la feuille active
'----------------------------------------------------------------
Dim strFiles As String
'1 - Affiche la boîte de dialogue Ouvrir
strFiles = Application.GetOpenFilename _
(FileFilter:="Fichier texte(*.txt),*.txt" _
, Title:="Sélectionnez le fichier à ouvrir")
On Error GoTo Annuler
'2 - Je rempli la feuille active du data à partir de A1
ActiveSheet.QueryTables.Add(Connection:="TEXT;" & strFiles _
, Destination:=Range("A1")).Refresh
GoTo Suite
Annuler: MsgBox "Vous n'avez sélectionner aucun fichier"
Range("A1") = ""
Suite:
End Sub |
Merci à tous