Ouverture données texte

M177214 Messages postés 1 Date d'inscription dimanche 8 juillet 2012 Statut Membre Dernière intervention 8 juillet 2012 - 8 juil. 2012 à 17:34
NHenry Messages postés 15117 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 10 mai 2024 - 8 juil. 2012 à 18:51
Bonjour,

Je suis débutant dans l'utilisation de VBA pour excel.
Je souhaite créé une petite macro me permettant d'ouvrir des données stockées dans un fichier txt.
J'ai fait un essai avec le code ci-dessous:

Sub FileName()
FichiersAOuvrir = Application.GetOpenFilename(, txt, , , True)
If IsArray(FichiersAOuvrir) Then
For i = LBound(FichiersAOuvrir, 1) To UBound(FichiersAOuvrir, 1)
'Ouvre les fichiers sélectionnés
Workbooks.Open FichiersAOuvrir(i)
Next i
Else
MsgBox "Annuler"
End If
End Sub

Malheureusement, j'ai 2 problèmes avec cette macro:
1) elle enregistre les données dans un nouveau fichier xls en prenant le nom du fichier texte. Je souhaite que les données restent stockées dans le fichier où j'execute ma macro
2) les données sont stockées dans la cellule A1,L1 alors que je souhaite que ce soit dans A5,L5

Voilà, par avance merci pour votre aide.

A+

4 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
8 juil. 2012 à 17:59
Bonjour,

1) Cette ligne, déjà :
FichiersAOuvrir =  Application.GetOpenFilename(, txt, , , True) 

est fausse, si tu veux dire que tu ne veux ouvrir que les fichiers d'extension .txt !
Syntaxe à voir dans ton aide VBA, s'il te plait ! (avec même un exemple) ! Et corrige !
2) Workbooks.Open est là pour ouvrir des classeurs, pas des fichiers texte qui, eux, s'ouvrent à l'aide de l'instruction Open, à lire également dans ton aide VBA, ainsi que les instructions qui vont avec (Input, OutPut, Line Input ...) et les exemples accompagnant tout ça !
Reviens après lecture et avec le code écrit sur ces bases si encore en difficultés.
Ce forum regorge par ailleurs de discussions et codes concernant la lecture et l'écriture de fichiers textes. Et il dispose d'un moteur de recherche (à toujours utiliser avant de "poster") qui t'y conduira.
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
NHenry Messages postés 15117 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 10 mai 2024 159
8 juil. 2012 à 18:01
Bonjour,

Apparemment, cest donc un CSV que tu as.
Regardes les instructions :
Open
Close
Line Input
Split

Je pense qu'avec une boucle "Do Until EFO(MonIdFichier)", tu y arriveras.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
8 juil. 2012 à 18:17
Bonjour, NHenry.
Dyslexie ?


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
NHenry Messages postés 15117 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 10 mai 2024 159
8 juil. 2012 à 18:51
Bonjour,

Non, les touches se déplacent toutes seules :)
EOF évidemment, pas EFO.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site
0
Rejoignez-nous