alors voici le texte avant modification :
%
O0312(90540 OPE1)
T4M106£T80£M600H4D4£G43H1£G41/G42D1
M98P3120
M11
G00G90G54X-115.897Y173.921B0S10000M03
M10
T80M106£T6£M600H80D80£G43H1£G41/G42D1
T2
M98P3120
G00G90G54X-85.142Y112.412B0S1500M03
(COMON Z BALANCEMENT)
G10L2P0Z#103
T6M106££M600H6D6£G43H1£G41/G42D1
M98P3120
M11
M99
%
Les symboles £ servent a repérer l'endroit ou on doit passer à la ligne. (comme si on appuyez sur entré dans texte normal)
voici donc le resultat souhaité :
%
O0312(90540 OPE1)
T4M106
T80
M600H4D4
G43H1
G41/G42D1
M98P3120
M11
G00G90G54X-115.897Y173.921B0S10000M03
M10
T80M106
T6
M600H80D80
G43H1
G41/G42D1
T2
M98P3120
G00G90G54X-85.142Y112.412B0S1500M03
(COMON Z BALANCEMENT)
G10L2P0Z#103
T6M106
M600H6D6
G43H1
G41/G42D1
M98P3120
M11
M99
%
or le résultat obtenu avec le code est :
%
O0312(90540 OPE1)
T4M106
T80
M600H4D4
G43H1
G41/G42D1
M98P3120
M11
G00G90G54X-115.897Y173.921B0S10000M03
M10
T80M106
T6
M600H80D80
G43H1
G41/G42D1
T2
M98P3120
G00G90G54X-85.142Y112.412B0S1500M03
(COMON Z BALANCEMENT)
G10L2P0Z#103
T6M106
M600H6D6
G43H1
G41/G42D1
M98P3120
M11
la difference est minime mais porte sur les dernieres lignes du texte qui ont disparus .
de plus j'ai l'impression que plus le texte contient de lignes et plus le nombre de lignes supprimées est important.
voici le code actuel qui me permet d'effectuer la modification :
Sub mise_a_la_ligne()
With Sheets("data")
dl = .Cells(Rows.Count, "G").End(xlUp).Row
For j = 2 To dl
nf = .Cells(j, "G").Value & .Cells(j, "A").Value
If Dir(nf) = "" Then
MsgBox "fichier " & nf & " non trouvé'"
Else
nfo = nf & Format(Time, "hhmmss")
Open nf For Input As 1
Open nfo For Output As 2
Line Input #1, ligne
Do Until EOF(1)
s = InStr(ligne, "M106")
If s > 0 Then
v = Split(ligne, "£")
For i = LBound(v) To UBound(v)
If v(i) <> "" Then Print #2, v(i)
Next i
Else
Print #2, ligne
End If
Line Input #1, ligne
Loop
Close 1, 2
Kill nf 'supprimer le fichier original
' If InStr(nf, ".txt") = 0 Then nf = nf & ".txt" 'on ajoute l'extension .txt si elle n'existe pas, enlever le ' initial pour activer cette ligne
Name nfo As nf 'renommer le nouveau fichier avec le nom original
End If
Next j
End With
End Sub
espère que mes explications suffirons a ce que tu puisse m'aider.
merci d'avance.