cs_charloute
Messages postés4Date d'inscriptionmercredi 11 avril 2007StatutMembreDernière intervention18 avril 2007
-
11 avril 2007 à 17:12
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 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!!
A voir également:
Importer fichier txt dans excel vba
Importer fichier txt dans excel - Meilleures réponses
Assistant importation de texte excel - Meilleures réponses
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 11 avril 2007 à 19:25
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 #
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 11 avril 2007 à 19:39
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~
cs_charloute
Messages postés4Date d'inscriptionmercredi 11 avril 2007StatutMembreDernière intervention18 avril 2007 11 avril 2007 à 20:02
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?
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 11 avril 2007 à 22:31
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 #
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201822 11 avril 2007 à 23:31
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...
cs_charloute
Messages postés4Date d'inscriptionmercredi 11 avril 2007StatutMembreDernière intervention18 avril 2007 18 avril 2007 à 21:06
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!
' 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