[VB.NET -> VBA] Macro import automatique txt avec |

Résolu
Ellynt - 2 avril 2013 à 16:12
 Utilisateur anonyme - 3 avril 2013 à 21:20
Bonjour,
Pour mon travail, je souhaiterai automatiser l’import de deux fichiers textes (qu’on choisirait grâce à une boite de dialogue) dans deux onglets différents sous excel.
J’ai trouvé des procédures sur vos forums cependant deux problèmes persistent :
- je n’arrive pas à faire apparaître une boite de dialogue pour choisir mon fichier.
- mon fichier txt est délimité par des | et je n’arrive pas à paramétrer cela dans ma macro. Sinon, si j’importe mes données avec l’assistant, cela marche très bien.
Auriez-vous la solution svp ?
Pour plus de clarté, je vous joins le fichier texte de base et ce que je voudrais voir apparaître sous Excel.

P.S : je suis relativement novice en VBA.
Merci d’avance pour votre aide.
Elly

10 réponses

cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
2 avril 2013 à 21:11
L'enregistreur ne passe effectivement pas par GetOpenFilename.
Alors regarde l'aide sur ce mot pour te donner un départ.

De plus, prends le temps de regarder aussi ChDrive et ChDir qui te permettrait de "positionner" GetOpenFilename sur le dossier que tu veux, s'il y a lieu...


MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
3
MarcPL Messages postés 172 Date d'inscription jeudi 8 décembre 2011 Statut Membre Dernière intervention 21 juillet 2013 2
2 avril 2013 à 19:48
Bonjour, la solution pour un débutant est d'utiliser l'enregistreur de macros ...

Sinon pour la boîte de dialogue, consulter l'aide VBA concernant la méthode GetOpenFilename.

___________________________________________________________________________________________________________________
Comme la vitesse de la lumière est supérieure à celle du son, certains ont l'air brillant avant d'avoir l'air con !
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
2 avril 2013 à 20:32
Bonjour,
si j’importe mes données avec l’assistant, cela marche très bien.
Auriez-vous la solution svp ?

Oui ! Utilise alors l'enregistreur de macros (et tu le verras, ton code)

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
Bonjour,

j'ai déjà utilisé l'enregistreur qui me permet effectivement de faire ce que je veux mais ne donne pas la possibilité à l'utilisateur de choisir le fichier à importer grâce à une boîte de dialogue
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
2 avril 2013 à 21:07
Bonjour,

Ouvre Excel et l'éditeur VBA. Ensuite tape getopenfilename dans la fenêtre de recherche en haut à droite de l'éditeur et appuie sur Enter. Il va se passer quelque chose de magique.
0
Bonjour,

merci pour ces réponses.
j'ai effectivement utilisé getopenfilename, c'est parfait.
cmarcotte, nous ne sommes pas tous des codeurs confirmés...
0
Utilisateur anonyme
3 avril 2013 à 19:55
Bonjour,

cmarcotte, nous ne sommes pas tous des codeurs confirmés...


Ah bon ! Tant que l'on est pas un codeur confirmé on est dispensé de l'obligation de chercher dans l'aide. Belle mentalité de paresseux qui veut tout avoir sans apprendre.
0
Sans connaître le nom de la fonction, ça devient plus compliqué.
Mais si vous ne voulez pas aider, il suffit de ne pas répondre.
0
Utilisateur anonyme
3 avril 2013 à 21:10
Justement diriger quelqu'un vers l'aide, c'est la meilleure aide que l'on peut donner. C'est faire apprendre à apprendre.
0
Utilisateur anonyme
3 avril 2013 à 21:20
Et Puis, si tu avais juste cherché "Boîte de dialogue" au lieu de "GetOpenFilename", tu aurais eu une série de liens qui t'auraient fait atteindre tôt ou tard la bonne page. Et puis au bas de chaque page, il y a d'autres liens. Cela fait que arrête de brailler sur ton incompétence et d'attendre des réponses gratuites et sans effort de ta part; et apprend à devenir compétent et le plus autonome possible. Automatiquement, tu deviendras plus productif. C'est juste la meilleure aide que l'on peut de donner. Que cela te plaise ou non.
0
Rejoignez-nous