VBA pour inserer ligne

bonjour tout le monde,

le code ci dessous me permet de remplacer le texte d'une ligne et il fonctionne très bien.

je souhaiterai le faire évoluer pour qu'il insère une nouvelle ligne plutôt que de la modifier .

quelqu'un pourrait t il m'aider ?

merci d'avance.

Sub remplacement_du_texte() 'remplacement total du texte'
Dim start As Single
start = Time
Dim montab()
Dim i As Integer
Dim ligne As Long
Dim C As Range
Dim contenu As String
Dim mon_fichier As String
For Each C In Range("A2:A" & Range("A" & Rows.Count).End(xlUp).Row)
mon_fichier = C.Offset(0, 6) & C.Value
Open mon_fichier For Input As #1
     Do While Not EOF(1)
       Line Input #1, contenu
          ligne = ligne + 1
      Loop
      Close #1

    ReDim montab(ligne)
    Open mon_fichier For Input As #1

    ligne = 1
        Do While Not EOF(1)
            Line Input #1, contenu
            If C.Offset(0, 2) = contenu Then contenu = C.Offset(0, 8)
            montab(ligne) = contenu
            ligne = ligne + 1
        Loop
Close #1
Open mon_fichier For Output As #1
For i = 1 To ligne - 1
Print #1, montab(i)
Next i
Close #1
Next
MsgBox ("durée du traitement: " & Format((Time - start), "hh:mm:ss"))
End Sub

je me permet de relancer mon post au cas ou....

gentil modo ne m'en veut pas stp

Bonjour,

je me permet de relancer mon post au cas ou....
gentil modo ne m'en veut pas stp

Pourquoi on devrait vous en vouloir, c'est justement ce qu'il faut faire. Relancer sur le sujet en faisant un nouveau post...

je souhaiterai le faire évoluer pour qu'il insère une nouvelle ligne plutôt que de la modifier

Insérer où ? quelle feuille et à quelle ligne

Un fichier exemple serait plus pratique...

Crdlt

@Dan,

voici un exemple du texte analysé :

 

M61
G43H06Z10.M08
G01Z3.(Z3.)F1500 
X-43.408F2000

N63M106T63  (T63K1)
M98P3410 
M63
G00G90G54B0X-49.923Y-31.586S1500M03
M61
G43H63Z30.T6 
G98G81Z2.7(Z2.7)R5.F250
X-33.003Y168.511 

M63
G00G90G55B180X-85.223Y65.688M3S800 
M61
G43H63Z10.T256987 
G98G81Z-14.2(Z-14.2)R-10.F250
X-99.704Y98.647

M61
G43H06Z20.M8T10
Z6.
#100=3.
#101=3500
#102=6(CORRECTEUR) 
M98P3411L4 
#100=0.3 
M98P3411 
G00Z20.

N116M106T116  (T116K1)
T216 
M98P3410 
G00G90G54B0X-17.64Y86.214S1000M03
G43H116Z10.M08 T1452
M13
G98G81Z-209.5R-176.975F90
G80Z10.

T59
M98P3410 
G00G90G54B0X64.217Y56.746S400M03 
G43H64Z10.M08
G98G82Z-181.R-171.25P2000F100
G80Z10.

T213 
M98P3410 
M63
G00G90G55B180X0.Y0.S8000M03
M61
G43H59Z10.M08
G01Z2F1500 
G01Z-3.55
G41D59Y24.3

(TOURTEAU 050 Z0.) 
N6M106T6(T6K1)
T189 
M98P3410 
M63
G00G90G54B0X-16.089Y213.484S10000M03 
M61
G43H06Z20.M8 
Z6.
#100=0.
#101=3200
#102=6(CORRECTEUR) 
M98P3411 

a copier-coller dans un dossier pour effectuer l'analyse avec le e fichier joint ci dessous

le "G43" n'est qu'une variable de recherche

le code doit être accès sur les résultats généré dans le tableau .

pour rappel je souhaite pouvoir insérer une ligne et y ajouter un texte.

tout est indiqué dans le fichier.

merci d'avance de votre aide.

9forum-g43.xlsm (35.96 Ko)

un petit up , histoire de ...

Rechercher des sujets similaires à "vba inserer ligne"