Optimiser l'enregistrement de donnée

Résolu
Signaler
Messages postés
56
Date d'inscription
dimanche 26 décembre 2004
Statut
Membre
Dernière intervention
4 août 2005
-
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
-
J'ai créé un tableau avec des nombres, j'aimerais qu'ils s'enregistre sur un fichier.dat, et les uns après les autres => 123456789 et non


1


2


3


Car pour la 2ième solution, après plusieurs encodage, la mémoire est pleine. J'ai donc créé un nouveau module et j'ai nommé ma variable publictabl(5000,12)
et le 13ième chiffres soit une suite de 72 chiffres afin de ne pas avoir publictabl(5000,72). Voilà comment j'ouvre les 12première lignes et j'aimerais savoir comment je peux ouvrir la 13ième qui contient donc 72nombres et comment les classer dans les tabl(num_fiche,13 ...puis 14....). Les nombres peuvent contenir un chiffre ou deux, je sais pas si ça a de l'importance ?

Open stFichier For Input As #1

num_fiche = 0

Do While Not EOF(1)
num_fiche = num_fiche + 1
Line Input #1, tabl(num_fiche, 1)
Line Input #1, tabl(num_fiche, 2)
Line Input #1, tabl(num_fiche, 3)
Line Input #1, tabl(num_fiche, 4)
Line Input #1, tabl(num_fiche, 5)
Line Input #1, tabl(num_fiche, 6)
Line Input #1, tabl(num_fiche, 7)
Line Input #1, tabl(num_fiche, 8)
Line Input #1, tabl(num_fiche, 9)
Line Input #1, tabl(num_fiche, 10)
Line Input #1, tabl(num_fiche, 11)
Line Input #1, tabl(num_fiche, 12)
???? Pour le 13ième ?????

MERCI D AVANCE !! Luca62

2 réponses

Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
18
Salut, je te propose ça :

D'abord, pour l'enreg dans un fichier :

Sub ecriture()
Dim i As Integer
Dim s As String


Open "c:\temp\test.dat" For Output As #1


'1 enreg
For i = 1 To 9 s IIf(s "", i, s & ";" & i)
Next

Print #1, s

s = ""

'1 autre enreg
For i = 10 To 15 s IIf(s "", i, s & ";" & i)
Next

Print #1, s

Close #1


End Sub

De cette façon, tu auras des enregs de longueur non fixe avec tes valeurs séparées par des ';'.

Pour la lecture :

' création d'un type de table
Private Type tableau
n() As String
End Type

Dim t(2) As tableau ' une table de tables

Sub lecture()
Dim num_fiche As Integer
Dim s As String


num_fiche = 0


Open stFichier For Input As #1


Do While Not EOF(1)
num_fiche = num_fiche + 1
Line Input #1, s
t(num_fiche).n = Split(s, ";")
Loop


Close #1


End Sub

Pour l'interro de ton tableau (limité dans l'exemple à 2 enregs) :

for i = 1 to ubound(t(1).n)
msgbox t(1).n(i)
next

Bon, pour le reste et les adaptations, je te laisse réfléchir.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 109 internautes nous ont dit merci ce mois-ci

Messages postés
1788
Date d'inscription
mardi 7 novembre 2000
Statut
Membre
Dernière intervention
11 mars 2006
26
Bonjour,

Pourraîs tu mettre ton code complet, parceque là, impossible de faire d'essais.

jpleroisse