toto = "9 -12 12 490 1 -11 1 501 -4 -2 10 494 1 -11 1 501 -4 -2 10 494 1 -11 1 501 -4 -2 10 494 " Do While InStr(toto, " ") toto = Replace(toto, " ", " ") Loop titi = Split(toto, " ") ou = 1 For i = 0 To UBound(titi) - 4 Step 4 Cells(ou, 1) = titi(i) For j = 1 To 3 Cells(ou, j + 1) = titi(i + j) Next ou = ou + 1 Next
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionj'ai l'impression que chaque information est structuré sur 6 bits (chiffre et espace)
2) si oui : il y a tout lieu de penser qu'il s'agit d'un fichier structuré. Quelle en est la structure, donc ?
Private type la_strucure_en_cause toto as string * 20 titi as long tata as string * 3 '... etc ... end type
toto = "9 -12 12 490 1 -11 1 501 -4 -2 10 494 " For i = 5 To 1 Step -1 toto = Replace(toto, String(i, " "), vbCrLf) Next MsgBox toto
Dim ff1 As Integer Dim ff2 As Integer Dim sBuffer As String * 24 ' 24 caractères à lire ' Ouverture du fichier à lire ff1 = FreeFile Open "Fichier original.txt" For Binary Access Read As #ff1 ' Ouverture du fichier à écrire ff2 = FreeFile Open "Fichier modifié.txt" For Output As #ff2 Do While Not EOF(ff1) Get #ff1, , sBuffer Print #ff2, sBuffer & vbCrLf DoEvents Loop Close #ff2 Close #ff1
Private type la_structure element1 as integer element2 as integer element3 as integer element4 as integer end type
enregistrement.element1 enregistrement element2 enregistrement element3 enregistrement.element4
Voilà ce que je pense. Et c'est la raison de mon expression :
L'écriture et la lecture d'un tel fichier se fait en l'ouvrant "For Random", s'écrit avec Put et se lit avec Get)
Voilà ce que j'en pense et qui explique mon :
[quote]Voilà : tu les as tous ainsi distincts. A toi de les organiser comme tu l'entends à partir de là (je ne veux même pas en entendre parler )
Private Type mon_type un_nombre As Integer une_chaine As String * 30 End Type Private Sub Command1_Click() Dim enregistrement As mon_type, unnumero Open "c:\essai.txt" For Random As #1 Len = Len(enregistrement) For unnumero = 1 To 5 enregistrement.un_nombre = unnumero * 2 enregistrement.une_chaine = "chaine" & unnumero Put #1, unnumero, enregistrement Next unnumero Close #1 End Sub Private Sub Command2_Click() Dim enregistrement As mon_type, unnumero Open "c:\essai.txt" For Random As #1 Len = Len(enregistrement) For maposition = 1 To 5 Get #1, maposition, enregistrement MsgBox "enregistrement n° " & maposition & vbCrLf & _ "un_nombre " & enregistrement.un_nombre & vbCrLf & "une_chaine " & enregistrement.une_chaine Next maposition Close #1 End Sub
toto = "9 -12 12 490 1 -11 1 501 -4 -2 10 494 " Do While InStr(toto, " ") toto = Replace(toto, " ", " ") Loop titi = Split(toto, " ") ou = 1 For i = 0 To UBound(titi) - 4 Step 4 For j = 1 To 4 Cells(ou, j) = titi(i + j) Next ou = ou + 1 Next