[Catégorie modifiée .Net --> VBA] vba Excel - Input #1 recuperation plusieurs va

JulienBenalla Messages postés 2 Date d'inscription vendredi 24 novembre 2006 Statut Membre Dernière intervention 20 septembre 2010 - 20 sept. 2010 à 18:34
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 - 21 sept. 2010 à 01:18
Hello,
J'ai un fichier texte :
18/5; 23:33;  7905219108500032000016
18/5; 23:33;  7905218108500032000016
18/5; 23:33;  7896501100000032000116

Je souhaite le lire et recuperer les variables (Date, Heure, Chaine), ligne par ligne.
Le code que j'utilise:
Dim MyString1, MyString2, MyString3, MyString4, MyString5
Open "C:\Doc1.txt" For Input As #1 ' Open file for input.
Do While Not EOF(1) ' Loop until end of file.
Input #1, MyString1, MyString2, MyString3, MyString4, MyString5      ' Read data into two variables.
MyNewString = MyString1 & ", " & MyString2 & ", " & MyString3 & ", " & MyString4 & ", " & MyString5    ' Print data to the Immediate window.
Loop
Close #1 ' Close file.

Ce qui me donne >>> MyNewString = "18, 23, 7905219108500032000016, 18, 23"
Ce que je veux >>> MyNewString = "18/5, 23:33, 7905219108500032000016"
Quelqu'un a une idee ?
Merci

4 réponses

dedenet2 Messages postés 372 Date d'inscription vendredi 27 juillet 2007 Statut Membre Dernière intervention 22 juillet 2013 2
20 sept. 2010 à 19:12
Bonjour,

Le fichier texte doit être ecrit de cette facon:

"18/5","23:33", "7905219108500032000016"
"18/5","23:33", "7905219108500032000016"
"18/5","23:33", "7905219108500032000016"


J'ai changé le code:

Dim MyString1, MyString2, MyString3, MyString4, MyString5, MyNewString
Open "C:\Doc1.txt" For Input As #1
Do While Not EOF(1)
Input #1, MyString1, MyString2, MyString3
MyNewString = MyString1 & ", " & MyString2 & _
", " & MyString3
Loop
Close #1



A tester

Dedenet2
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
21 sept. 2010 à 00:06
Salut

Sous VB.Net, il doit y avoir des méthodes plus affinées que Open et Input pour lire ce genre de fichier.
As-tu fait des recherches concernant la lecture de fichier CSV, puisque c'est ce dont il s'agit ?

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
21 sept. 2010 à 00:09
Ah non, vba Excel : Prends soin de bien choisir ta catégorie.

Même remarque : la lecture de fichier CSV est un grand classique : fais des recherches.
Au pire des cas, lit des lignes entières, avec Line Input #, puis découpe ta chaine pour fabriquer tes sous-chaines : Instr, Mid, Left ...
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
21 sept. 2010 à 01:18
bonsoir
tu peux comme a dit Jack lire des lignes entières
et utiliser le split avec le ; comme char delimeter
0
Rejoignez-nous