Récupération info dans fichier texte

tonywan Messages postés 34 Date d'inscription mercredi 28 janvier 2004 Statut Membre Dernière intervention 24 mars 2005 - 4 mars 2005 à 11:54
tonywan Messages postés 34 Date d'inscription mercredi 28 janvier 2004 Statut Membre Dernière intervention 24 mars 2005 - 4 mars 2005 à 15:37
Voilà, j'ai un fichier txt contenant 77 lignes. J'aimerais récupérer les 6 premiers chiffres de chaque ligne.J'ai déjà récupérer le nombre de lignes :

Line Input #1, ligne
tout = ligne
If Len(tout) <> 0 Then
While Not EOF(1)
Line Input #1, ligne
tout = tout + crlf + ligne

If Chr$(10) Then
nbligne = nbligne + 1

End If

Wend

End If

MsgBox ("Nombre d'enregistrements :" & nbligne)

Ensuite, quand j'aurais récupéré mes 77 enregistrements de 6 chiffres, il faudra les stocké ds une base access.

Merci de m'aider.

6 réponses

Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
4 mars 2005 à 12:54
- Le test If chr$(10) ne sert à rien et plante la machine

- Pour une fin de Ligne dans un fichier c'est vbCrLf --> chr$(13) + chr$(10)
- tout tout + crlf + ligne doit être remplacé par tout tout & Ligne & vbCrLf
pour les chaînes on utilise & signe de concaténation plutôt que + signe d'addition
vbCrLf à la place de CrLf
une fin de Ligne se met à la fin et non pas au début

- chiffres = Lefts(Ligne,6) pour avoir les 6 premiers caractères de la Ligne

- pour access je ne sais pas

Daniel
0
tonywan Messages postés 34 Date d'inscription mercredi 28 janvier 2004 Statut Membre Dernière intervention 24 mars 2005
4 mars 2005 à 14:30
Ok, ça marche, mais ça récupére les 6 premier chiffre de la 1ere ligne. Or, il me faudrait les 6 premier chiffre de toutes les lignes.
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
4 mars 2005 à 14:39
ça dépend si tu veux les mettre dans une Table ou dans une chaîne.

Dim chiffres() As String

While Not EOF(1)
Line Input #1, ligne
tout = tout & Ligne & vbCrLf
nbligne = nbligne + 1
Redim preserve chiffres(nbligne)
chiffres(nbligne) = Lefts(Ligne,6)
Wend

Daniel
0
tonywan Messages postés 34 Date d'inscription mercredi 28 janvier 2004 Statut Membre Dernière intervention 24 mars 2005
4 mars 2005 à 15:20
Plutot dans un tableau. Ex :
chiffres (123456
234567
345678
......)
Pour tester, j'aimerais afficher tous ces chiffres (de 6 caracteres) dans un msgbox pour vérifier). MsgBox chiffres(ligne) ??

merci encore
0

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

Posez votre question
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
4 mars 2005 à 15:34
avec MsgBox il faudrait le faire 77 fois donc autant que de lignes dans le fichier.
pour tester tu peux utiliser Debug.Print chiffres(nbligne) ou alors une ListBox List1.AddItem chiffres(nbligne)

Daniel
0
tonywan Messages postés 34 Date d'inscription mercredi 28 janvier 2004 Statut Membre Dernière intervention 24 mars 2005
4 mars 2005 à 15:37
oki merci je test.
0
Rejoignez-nous