Sélectionner certaines lignes depuis un fichier .txt
s
Bonjour à tous, encore une fois je vous demande de l'aide
J'ai besoin de sélectionner certaines lignes depuis un fichier .txt pour les réecrire sur un autre fichier .txt (cette partie je saurais la coder). J'ai commencé à coder ça, mais je bute sur le fait de commencer à la ligne 13 la récuéparation de la donnée.
Là pour l'instant mon code ne me sert qu'à compter le nombre de lignes du fichier source et je bloque un peu pour la suite. J'ai déclaré aussi quelques variables dont j'aurai sûrement besoin.
'on ouvre le fichier mémoire
Open mem_file For Input As #2
'Boucle qui permet de parcourir tout le fichier .txt qui concerne la mémoire
Do Until EOF(2)
Line Input #2, ligne
'Sur le template la première data est à la ligne 13
debut_data_mem = 13
'Les data se trouvent toutes les 3 lignes à partir de la ligne 13
data_mem = debut_data_mem + 3
'Sur le template la première data est à la ligne 13
debut_adresse_mem = 14
'Les adresse se trouvent toutes les 3 lignes à partir de la ligne 14
adresse_mem = debut_data_mem + 3
nb_ligne_mem = nb_ligne_mem + 1
Loop
Debug.Print nb_ligne_mem
Close #2Merci par avance :)
s
Bonjour Superneiluj
Sub ListDataAddress()
Dim address, myData
mem_file = Environ("USERPROFILE") & "\x.txt"
Dim Data()
ReDim Data(0)
Dim addr()
ReDim addr(0)
'on ouvre le fichier mémoire
Open mem_file For Input As #2
nb_ligne_mem = 0
'Boucle qui permet de parcourir tout le fichier .txt qui concerne la mémoire
Do
If Not EOF(2) Then
Line Input #2, ligne
End If
nb_ligne_mem = nb_ligne_mem + 1
Loop Until EOF(2) Or nb_ligne_mem = 13
'Sur le template la première data est à la ligne 13
Do Until EOF(2)
'Les data se trouvent toutes les 3 lignes à partir de la ligne 13
Line Input #2, myData
Line Input #2, ligne
Line Input #2, address
ReDim Preserve addr(UBound(addr) + 1)
addr(UBound(addr)) = address
ReDim Preserve Data(UBound(Data) + 1)
Data(UBound(Data)) = ligne
nb_ligne_mem = nb_ligne_mem + 1
Loop
For i = 1 To UBound(Data)
Debug.Print Data(i)
Debug.Print addr(i)
Next
'Debug.Print nb_ligne_mem
Close #2
End Subs
Ca fonctionne super bien. Merci bcp, j'essaie d'apprendre mais c'est pas évident