Bonjour à tous,
je viens vers vous pour vous faire part de mon incapacité à me tirer d'affaire par mes propres moyens.
Je suis actuellement en stage, ayant un projet en VBA.
Cependant je n'ai jamais codé en VBA et je ne comprends vraiment pas tout, j'en appelle donc à votre indulgence pour m'aider à comprendre mon erreur.
Mon but est de convertir un fichier txt en un autre fichier txt.
Le premier:
Le second doit être sous la forme :Num module P SH RH 0 P0 SH0 RH0 1 P1 SH1 RH1 0 P0 SH0 RH0 1 P1 SH1 RH1
PS : il y a plusieurs cas "0" et "1" car on traite les données à différents momentsNum module P SH RH 0 P0 SH RH0 1 P1 SH1 RH1 0 P0 SH RH0 1 P1 SH1 RH1
Pour se faire, j'ai créé une petite maccro qui permet de travailler dans le meme fichier txt et de convertir suivant mon cahier des charges les données en colonne sous la forme :
Cette fonction permettant de supprimer un retour ligne sur (nbre_module - 1)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 Sub enlever_retour_chariot() 'Cocher référence : Windows Script Host Object Model Dim fso As IWshRuntimeLibrary.FileSystemObject Dim oTs As IWshRuntimeLibrary.TextStream Dim sFichierTxt As String, sContenu As String, sLigne As String Dim i As Integer, x As Integer Dim nbre_ligne As Long sFichierTxt = DestinationFichier Set fso = New IWshRuntimeLibrary.FileSystemObject nbre_ligne = nb_ligne Set oTs = fso.OpenTextFile(sFichierTxt, ForReading) sContenu = oTs.ReadAll i = 0 For x = 0 To nbre_ligne sLigne = oTs.ReadLine oTs.SkipLine If (i = nbmod) Then i = 0 End If If (i <> nbmod - 1) Then sLigne = Replace(Replace(sContenu, vbCr, " "), vbLf, " ") End If i = i + 1 Next x oTs.Close Set oTs = fso.OpenTextFile(sFichierTxt, ForWriting) oTs.Write sContenu oTs.Close Set oTs = Nothing Set fso = Nothing End Sub
Seulement à la compil je reçois le message :Le débogage m'emmenne sur la ligne : sLigne = oTs.ReadLineErreur d'exécution 62 :
L'entrée dépasse la fin du fichier
Est-ce que quelqu'un à une quelconque idée ?
Merci
je précise que pour la ligne
nbre_ligne=nb_ligne
nb_ligne est une maccro qui se fait automatiquement qui calcule le nbre de lignes du fichier txt en question.
Partager