Bonjour,
Je voudrais savoir comment faire pour insérer une ligne avant ou après une ligne contenant une certaine chaîne de caractères.
Merci d'avance
Bonjour,
Je voudrais savoir comment faire pour insérer une ligne avant ou après une ligne contenant une certaine chaîne de caractères.
Merci d'avance
:whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
saut de ligne
OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈
Merci je viens de regarder les différents liens et je ne vois pas en quoi ça peut me servir pour mon problème ...
L'idée est peut-être celle exposée dans ce post suite à une discussion que tu as créée
Ne pas oublier le tag
si satisfait.
Voter pour toute réponse satisfaisante avec
pour encourager les intervenants.
Balises CODE indispensables. Regardez ICI
Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
Vous pouvez consulter mes contributions
Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
Ne pas oublier L'Aide VBScript et MSDN VB6 Fr
dans l'autre discussion je parle du remplacement d'une chaîne de caractère et non de l'insertion d'une ligne entre deux autres...
Pourtant l'idée est la même :
1 - Première partie du fichier txt1 comportant tout le texte juste avant le point d'insertion
2 - La 2ème txt2 le reste du fichier.
On aura au final :
Code : Sélectionner tout - Visualiser dans une fenêtre à part txtfinal = txt1 + texte à insérer + txt2
Ne pas oublier le tag
si satisfait.
Voter pour toute réponse satisfaisante avec
pour encourager les intervenants.
Balises CODE indispensables. Regardez ICI
Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
Vous pouvez consulter mes contributions
Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
Ne pas oublier L'Aide VBScript et MSDN VB6 Fr
D'accord mais le problème est qu'avec le code suivant j'ai l'erreur "Mode fichier incorrect" :
L'erreur est à la ligne 30 du code.
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 If insert = 1 and present = 0 and remp = 0 Then MsgBox "Ajout du numéro " & numero & " au contact " & prenom & " " & nom Set vfcfile = fso.OpenTextFile(vfc,2,true) do while vfcfile.AtEndOfStream=false textvfc = vfcfile.ReadLine If Instr(textvfc,nom) <> 0 Then set types = new regexp types.pattern = "^06{1}[0-9]{8}" types.Global = false set typenum = types.execute(numero) If typenum.count <> 0 Then nouveau = textvfc & chr(10) & "TEL;TYPE=CELL,VOICE:" & numero insertion = Replace(textvfc,textvfc,nouveau) vfcfile.write(insertion) else nouveau = textvfc & chr(10) & "TEL;TYPE=WORK,VOICE:" & numero insertion = Replace(textvfc,textvfc,nouveau) vfcfile.write(insertion) End If End If loop vfcfile.close else If present = 1 Then MsgBox "Le numéro " & numero & " pour " & prenom & " " & nom & " existe déjà." else If remp = 1 Then Set vfcfile = fso.OpenTextFile(vfc,2,true) do while vfcfile.AtEndOfStream=false textvfc = vfcfile.ReadLine If Instr(textvfc,numero) = 0 Then insertion = Replace(textvfc,right(textvfc,10),numero) vfcfile.write(insertion) End If loop vfcfile.close End If End If End If
Ca me met la même erreur avec le même code mais comme ceci :
La ligne 2 est la ligne où se produit l'erreur.
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 Set vfcfile = fso.OpenTextFile(vfc,2,true) do while vfcfile.AtEndOfStream=false textvfc = vfcfile.ReadLine If insert = 1 and present = 0 and remp = 0 Then MsgBox "Ajout du numéro " & numero & " au contact " & prenom & " " & nom If Instr(textvfc,nom) <> 0 Then set types = new regexp types.pattern = "^06{1}[0-9]{8}" types.Global = false set typenum = types.execute(numero) If typenum.count <> 0 Then nouveau = textvfc & chr(10) & "TEL;TYPE=CELL,VOICE:" & numero insertion = Replace(textvfc,textvfc,nouveau) vfcfile.write(insertion) else nouveau = textvfc & chr(10) & "TEL;TYPE=WORK,VOICE:" & numero insertion = Replace(textvfc,textvfc,nouveau) vfcfile.write(insertion) End If End If else If present = 1 Then MsgBox "Le numéro " & numero & " pour " & prenom & " " & nom & " existe déjà." else If remp = 1 Then If Instr(textvfc,numero) = 0 Then insertion = Replace(textvfc,right(textvfc,10),numero) vfcfile.write(insertion) End If End If End If End If loop vfcfile.close
Tu ne peux pas écrire dans fichier ouvert en lecture et inversement.
Il faut ouvrir le fichier en lecture(ForReading=2), après en avoir récupéré le contenu, on le ferme puis on l'ouvre en écriture(ForWriting=1) ensuite on le ferme pour l'enregistrer.
Ne pas oublier le tag
si satisfait.
Voter pour toute réponse satisfaisante avec
pour encourager les intervenants.
Balises CODE indispensables. Regardez ICI
Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
Vous pouvez consulter mes contributions
Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
Ne pas oublier L'Aide VBScript et MSDN VB6 Fr
Partager