Gobillot
Messages postés3140Date d'inscriptionvendredi 14 mai 2004StatutMembreDernière intervention11 mars 201934 14 janv. 2005 à 18:19
en fait c'est 2 fichiers dans un seul fichier, problème comment savoir à quel moment commence le deuxième fichier ?
il y avait une solution c'est de tester si le numéro est déjà sorti une fois, donc If Table(num) <> "" then --> 2ème fichier mais est-ce que forcémént le fichier correspondant est toujours présent ?
j'ai pris une autre solution c'est de tester si présence de ":" dans la chaîne ce qui oblige à revenir en arrière pour écrire le numéro
Dim Fichier1 As String
Dim fichier2 As String
Dim Ligne As String
Dim Table() As String
Dim num As Integer
Dim Bool As Boolean
ReDim Table(10000)
Open Fichier1 For Input As #1
Open fichier2 For Output As #2
While Not EOF(1)
Line Input #1, Ligne
num = Ligne
If Bool Then
Print #2, Table(num)
Else
' risque de plantage si la liste derrière
' comprend 1 seul numéro
Line Input #1, Ligne
If InStr(Ligne, ":") > 0 Then
Table(num) = Ligne
Else
Bool = True
Print #2, Table(num)
num = Ligne
Print #2, Table(num)
End If
End If
Wend
Close #1
Close #2
' à utiliser avec prudence
' Kill Fichier1
' Name fichier2 As Fichier1
Gobillot
Messages postés3140Date d'inscriptionvendredi 14 mai 2004StatutMembreDernière intervention11 mars 201934 14 janv. 2005 à 18:54
pas de problème tu peux mettre autant fois le même morceau dans la Liste ça ne gêne pas.
le seul plantage que je vois c'est si la liste ne comprend qu'un seul numéro et là le programme se plante dans la deuxième lecture ...