Importer etxte dans feuille specifique excel [Résolu]

Messages postés
45
Date d'inscription
lundi 1 mai 2000
Statut
Membre
Dernière intervention
25 février 2012
- - Dernière réponse : jraynald
Messages postés
45
Date d'inscription
lundi 1 mai 2000
Statut
Membre
Dernière intervention
25 février 2012
- 20 août 2009 à 19:58
Bonjour à tous,
à partir d'un classeur excel qui possède plusieurs feuille important le contenu d'un fichier texte dans une feuille spécifique, ce fichier texte comporte des tabulations que je voudrais utiliser comme changement de colonne.
J'ai essayer en enregistrant la macro excel:
Workbooks.OpenText Filename:="M:\arbre a cames\ARBRE_A_CAME_TR5.txt", Origin _
        :=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
        xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _
        Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), _
        Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1)), TrailingMinusNumbers:=True

ça me créer automatiquement un nouveau classeur et je n'arrive pas à l'adapter.
en copiant le contenu du fichier texte avec notepad puis dans la feuille désirée un coller ça fonctionne, mais je sais pas le faire à partir de VBA.
Merci d'avance pour votre aide.
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
57
3
Merci
possible de faire :
Sub test()
    ImporterCSV "C:\a.txt", Worksheets("Feuil2").Range("C5"), vbTab
End Sub

Sub ImporterCSV(ByRef vsFilePath As String, ByRef voTarget As Range, Optional ByRef vsSeparator As String = ";")
    Workbooks.OpenText vsFilePath, DataType:=xlDelimited, Other:=True, OtherChar:=vsSeparator
    voTarget.Worksheet.Range(voTarget, _
                             voTarget.Offset(ActiveSheet.UsedRange.Rows.Count - 1, ActiveSheet.UsedRange.Columns.Count - 1) _
                             ).Value = ActiveSheet.UsedRange.Value
    ActiveWorkbook.Close
End Sub



on ouvre la chose dans un autre classeur, donc, puis on importe les données à l'endroit désiré.





Renfield - Admin CodeS-SourceS - MVP Visual Basic

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 219 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Renfield
Messages postés
45
Date d'inscription
lundi 1 mai 2000
Statut
Membre
Dernière intervention
25 février 2012
0
Merci
Merci pour ton code donc j'ai essayé de faire ceci
Sub test()


fichier = Application.GetOpenFilename("fichier CEA,*.txt")

ImporterCSV fichier, Worksheets("donne").Range("a15"), vbTab
End Sub


mais ça bloque avec fichier, cette donnée comporte le nom du fichier à récuperer
Commenter la réponse de jraynald
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
57
0
Merci
ca 'bloque' ?

Renfield - Admin CodeS-SourceS - MVP Visual Basic
Commenter la réponse de Renfield
Messages postés
45
Date d'inscription
lundi 1 mai 2000
Statut
Membre
Dernière intervention
25 février 2012
0
Merci
j'ai l'erreur:
Erreur de compilation
Type d'argument ByRef incompatible
Commenter la réponse de jraynald
Messages postés
45
Date d'inscription
lundi 1 mai 2000
Statut
Membre
Dernière intervention
25 février 2012
0
Merci
Oups désolé j'ai recommencé et ça fonctionne nickel
Commenter la réponse de jraynald