Importer des fichiers txt dans excel avec une macro vba [Résolu]

Messages postés
4
Date d'inscription
mercredi 11 avril 2007
Dernière intervention
18 avril 2007
- - Dernière réponse : mortalino
Messages postés
6812
Date d'inscription
vendredi 16 décembre 2005
Dernière intervention
21 décembre 2011
- 18 avril 2007 à 23:10
Bonjour!

 Je suis étudiante en finance et je fais mes premiers pas en VBA. Je dois réaliser un petit logiciel de trading avec excel VBA. Pour ce faire, je souhaite importer des fichiers txt dans excel. Beaucoup de sites me proposent d'utiliser l'assistant mais je souhaiterai passer par une macro VBA qui fera l'extraction automatique via un bouton. Est-ce possible? et si oui, comment puis-je procéder?

Merci d'avance!!
Afficher la suite 

Votre réponse

8 réponses

Messages postés
27
Date d'inscription
vendredi 10 octobre 2003
Dernière intervention
5 juin 2007
0
Merci
Bonjour,

comment est structuré ton fichier txt?

@++

hugoflash
Commenter la réponse de HUGOFLASH
Messages postés
7745
Date d'inscription
mercredi 1 septembre 2004
Dernière intervention
24 septembre 2014
0
Merci
Je pense que cela est possible.


Déjà pour avoir une base de code, tu peux utiliser la petite astuce de l'enregistrement de la macro :

Tu lance l'enregsitrement d'une macro. Pendant l'enregistrement, tu fais une importation manuellement avec l'assistant.

Une fois l'importation terminée, tu arrete l'enregistrement de la macro.

Ensuite tu ouvre l'éditeur VBA, tu regarde dans Module1, tu trouvera le
code d'importation d'un fichier texte. Il ne te reste plus qu'a t'en
inspirer pour faire ta macro.

---- Sevyc64  (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #
Commenter la réponse de cs_casy
Messages postés
6812
Date d'inscription
vendredi 16 décembre 2005
Dernière intervention
21 décembre 2011
0
Merci
Enregistre toi, fais Ouvrir, choisi (au lieu de fichier Excel) fichier texte, clique sur ton fichier, et diverses options te seront proposées, choisi les et après, arrête l'enregistreur de macro.. t'auras le code 

@++


  --Mortalino--
Le mystérieux chevalier, ~Provençal, le Gaulois~
  
Commenter la réponse de mortalino
Messages postés
4
Date d'inscription
mercredi 11 avril 2007
Dernière intervention
18 avril 2007
0
Merci
Cette stratégie marche avec un fichier txt mais en fait mon problème est que j'ai 14 fichiers txt que je veux importer simultanément sur le même fichier excel, c'est là que ca se complique. Pouvez-vous me dire si c'est réalisable?
Commenter la réponse de cs_charloute
Messages postés
7745
Date d'inscription
mercredi 1 septembre 2004
Dernière intervention
24 septembre 2014
0
Merci
Bien sur que c'est possible.

A partir du code obtenu avec la methode donnée plus haut, il te faut avoir un moyen d'avoir la liste des fichiers à importer. Il te faut rajouter une bouclepour executer le code obtenu 14 fois. A chaque cycle, il te faudra modifier le nom du fichier à importer à partir de la liste des fichiers et éventuellement la destination de l'importation.

---- Sevyc64  (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #
Commenter la réponse de cs_casy
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Dernière intervention
23 août 2018
0
Merci
Comme disait HugoFlash, ce serait bien de voir la structure du fichier.

Il faut s'assurer qu'un copier/coller se fera correctement avec le bon formatage, que les chiffres seront des chiffres et non du texte, que chaque donnée sera dans une cellule et non regroupées dans la même, ...

Et peut-être qu'en connaissant le site où tu prends tes fichiers, tu aurais d'autres suggestions...

Et finalement, si tu recherches la rapidité pour le genre d'application que tu fais, il vaudrait peut-être mieux que tu travailles avec autre chose que les feuilles Excel, mais plutôt la mémoire vive de l'ordi...

MPi
Commenter la réponse de cs_MPi
Messages postés
4
Date d'inscription
mercredi 11 avril 2007
Dernière intervention
18 avril 2007
0
Merci
Merci à tous, je vais peut être vous paraître nulle mais le coup de la boucle je comprend pas trop. je connais la boucle mais je vois pas comment je peux changer le nom du fichier à chaque fois. Si vous souhaitez toujours me répondre je vous remercie!
Commenter la réponse de cs_charloute
Messages postés
6812
Date d'inscription
vendredi 16 décembre 2005
Dernière intervention
21 décembre 2011
0
Merci
Salut,

par exemple, tu rentres les noms de tes fichiers dans un tableau (variable)

Dim MesFichiers(2) As String, Contenu(2) As String, i As Integer, FF As Integer

MesFichiers(0) =  "C:\Fichier1.txt"
MesFichiers(1) = "C:\Fichier2.txt"
MesFichiers(2) = "C:\Fichier3.txt"
FF = FreeFile

' stockage du contenu des 3 fichiers dans les variables
For i = 0 To 2
   Open MesFichiers(i) For Input As #FF
      Contenu(i) = Input(Lof(FF), #FF)
   Close #FF
Next i

For i = 0 To 2
   MsgBox Contenu(i)
Next i

Erase MesFichiers, Contenu

~ <small> Mortalino ~ Colorisation automatique </small>

@++





<hr width ="100%" size="2" />

  --Mortalino--
Le mystérieux chevalier, ~Provençal, le Gaulois~
  
Commenter la réponse de mortalino

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.