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

cs_charloute 4 Messages postés mercredi 11 avril 2007Date d'inscription 18 avril 2007 Dernière intervention - 11 avril 2007 à 17:12 - Dernière réponse : mortalino 6812 Messages postés vendredi 16 décembre 2005Date d'inscription 21 décembre 2011 Dernière intervention
- 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

HUGOFLASH 27 Messages postés vendredi 10 octobre 2003Date d'inscription 5 juin 2007 Dernière intervention - 11 avril 2007 à 19:21
0
Merci
Bonjour,

comment est structuré ton fichier txt?

@++

hugoflash
Commenter la réponse de HUGOFLASH
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 11 avril 2007 à 19:25
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
mortalino 6812 Messages postés vendredi 16 décembre 2005Date d'inscription 21 décembre 2011 Dernière intervention - 11 avril 2007 à 19:39
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
cs_charloute 4 Messages postés mercredi 11 avril 2007Date d'inscription 18 avril 2007 Dernière intervention - 11 avril 2007 à 20:02
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
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 11 avril 2007 à 22:31
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
cs_MPi 3877 Messages postés mardi 19 mars 2002Date d'inscription 23 août 2018 Dernière intervention - 11 avril 2007 à 23:31
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
cs_charloute 4 Messages postés mercredi 11 avril 2007Date d'inscription 18 avril 2007 Dernière intervention - 18 avril 2007 à 21:06
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
mortalino 6812 Messages postés vendredi 16 décembre 2005Date d'inscription 21 décembre 2011 Dernière intervention - 18 avril 2007 à 23:10
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.