Mettre le contenu d'un fichier texte dans plusieurs variables

bobolechef Messages postés 65 Date d'inscription lundi 1 décembre 2003 Statut Membre Dernière intervention 19 juin 2009 - 30 janv. 2006 à 12:06
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 - 30 janv. 2006 à 12:23
Bonjour à tous,
Je voudrais savoir s'il est possible de récupérer dans plusieurs variables le contenu de mon fichier texte?
Il y a 25 lignes dans mon fichier texte et je voudrais affecter chaque ligne à une variable comme ceci : ligne 1 --> variable 1, ligne 2 --> variable2...

' Mon code pour lire les variables
Public Sub Stats()


cheminFichier_Stat = "C:\stats.txt"
If Dir(cheminFichier_Stat) <> "" Then ' si le fichier existe
Dim FStat, Contenu, f, txt_File, ligne
Dim i As Integer
Dim compteur As String
f = FreeFile 'Renvoie le numéro du fichier
FStat = cheminFichier_Stat
Open FStat For Input As f 'ouvre le fichier en mode lecture
'Input f, Contenu
Contenu = Input(LOF(f), f) 'lit le contenu du fichier et l'inscrit ds la variable Contenu
'C'est ici que j'aimerai affecter une ligne à une variable
Close 'ferme le fichier
MsgBox Contenu


Else 'Le fichier est inexistant
'Creer le fichier texte de Stat
Dim fso
Set WshShell = CreateObject("WScript.Shell") 'Creation d'un instance SHELL pour lancer le VBS
Set fso = CreateObject("Scripting.FileSystemObject") 'Creation d'un objet FSO - objet fichier
Set FStat = fso.CreateTextFile("C:" & user & ".txt", True) 'Creation du fichier texte et ecriture dans ce fichier
For i = 1 To 25
FStat.WriteLine ("0") 'Initialisation des variables à 0
Next i
FStat.Close 'Fermeture du fichier
End If 'Dir$("C:" & user & ".txt")


End Sub
'------------------------------------------------------------------------------

1 réponse

Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
30 janv. 2006 à 12:23
-pourquoi utiliser fso pour créer le fichier alors que tu as utilisé open pour le lire

c'est pas logique !
Open FStat For Output As f

Print #1, "0"



- si les noms de variables sont différents, il faudra faire autant de lecture que nécessaire

Line Input #1, variable1

Line Input #1, variable2

------------------------

Line Input #1, variable25



- si les variables sont indicées, tu peux faire une boucle.

- il y a aussi Tableau = Split (Contenu, vbCrLf)


Daniel
0