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

Signaler
-
 Utilisateur anonyme -
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

Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
16
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
Messages postés
172
Date d'inscription
jeudi 8 décembre 2011
Statut
Membre
Dernière intervention
21 juillet 2013
2
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 !
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
220
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.
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

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.
Bonjour,

merci pour ces réponses.
j'ai effectivement utilisé getopenfilename, c'est parfait.
cmarcotte, nous ne sommes pas tous des codeurs confirmés...

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.
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.

Justement diriger quelqu'un vers l'aide, c'est la meilleure aide que l'on peut donner. C'est faire apprendre à apprendre.

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.