Bonjour les forumiteux,
Après une absence trop longue de ce forum, je reprends mes travaux en VB sur une problèmatique liée à des manipulations de lecture-écriture sur des fichiers txt.
Après quelques recherches, je suis parvenu à obtenir un script fonctionnel pour lire les données d'un fichier structuré, les stocker dans les cellules, les écrire dans un nouveau fichier txt.
Structure
	
	
	
	
	
		
Script lecture
	
	
	
	
	
		
Script écriture
	
	
	
	
	
		
Mon fichier txt dispose d'une première ligne d'en-tête et les lignes suivantes sont des lignes de détails (correspondant à la structure définie dans mon script).
De ce fait, le traitement devrait être différent mais je ne parviens pas à trouver la manière d'indiquer dans le script que la ligne 1 doit être traiter sur un modèle et la ligne 2 (et éventuellement les suivantes) sur un autre modèle.
Merci pour votre aide.
Dieu08.
	
		
			
		
		
	
				
			Après une absence trop longue de ce forum, je reprends mes travaux en VB sur une problèmatique liée à des manipulations de lecture-écriture sur des fichiers txt.
Après quelques recherches, je suis parvenu à obtenir un script fonctionnel pour lire les données d'un fichier structuré, les stocker dans les cellules, les écrire dans un nouveau fichier txt.
Structure
		VB:
	
	
	Public nomfich1 As String
Type interface
    'tronc commun
    int1 As String * 8
    int2 As String * 8
    int3 As String * 8
    int4 As String * 3
    int5 As String * 6
    int6 As String * 9
    int7 As String * 2
   
    'détails mouvements
    int8 As String * 1
    int9 As String * 1
    int10 As String * 1
         
End Type
	Script lecture
		VB:
	
	
	intFic2 = FreeFile()
NbLigne = 1
Open nomfich1 For Binary As #intFic2 Len = Len(MyInterface)
            Do While Not EOF(1)
                                           
            ' lecture fichier et repart dans les variables
                           
                               Get #intFic2, , MyInterface
                                    Cells(NbLigne, 1) = MyInterface.int1
                                    Cells(NbLigne, 2) = MyInterface.int2
                                    Cells(NbLigne, 3) = MyInterface.int3
                                    Cells(NbLigne, 4) = MyInterface.int4
                                    Cells(NbLigne, 5) = MyInterface.int5
                                    Cells(NbLigne, 6) = MyInterface.int6
                                    Cells(NbLigne, 7) = MyInterface.int7
                                    Cells(NbLigne, 8) = MyInterface.int8
                                    Cells(NbLigne, 9) = MyInterface.int9
                                    Cells(NbLigne, 10) = MyInterface.int10
                                               
            NbLigne = NbLigne + 1
                                    
            Loop
                      
Close #intFic2
	Script écriture
		VB:
	
	
	For intFic = 1 To nbcount0
Open "infodb_test.dat" For Random As intFic Len = Len(MyInterface)
With MyInterface
    .int1 = Cells(intFic, 1)
    .int2 = Cells(intFic, 2)
    .int3 = Cells(intFic, 3)
    .int4 = Cells(intFic, 4)
    .int5 = Cells(intFic, 5)
    .int6 = Cells(intFic, 6)
    .int7 = Cells(intFic, 7)
    .int8 = Cells(intFic, 8)
    .int9 = Cells(intFic, 9)
    .int10 = Cells(intFic, 10)
End With
' compte le nombre d'enregistrements
intNum = LOF(intFic) / Len(MyInterface)
   Put intFic, intNum + 1, MyInterface
                 
Close #1
Next intFic
	Mon fichier txt dispose d'une première ligne d'en-tête et les lignes suivantes sont des lignes de détails (correspondant à la structure définie dans mon script).
De ce fait, le traitement devrait être différent mais je ne parviens pas à trouver la manière d'indiquer dans le script que la ligne 1 doit être traiter sur un modèle et la ligne 2 (et éventuellement les suivantes) sur un autre modèle.
Merci pour votre aide.
Dieu08.