écrire ligne précise textbox

Signaler
Messages postés
181
Date d'inscription
vendredi 3 janvier 2003
Statut
Membre
Dernière intervention
9 avril 2010
-
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
-
Bonjour,
J'aimerais savoir comment faire pour écrire à une ligne précise dans un textbox je m'explique : j'ai un textbox avec comme contenu :

ligne1
ligne2
ligne3
ligne4
ligne5
ligne6

comment faire pour écrire "TEST" à la ligne3 ? ce qui donnerait :

ligne1

ligne2

ligne3 TEST

ligne4

ligne5

ligne6

d'avance merci :)

123

12 réponses

Messages postés
94
Date d'inscription
lundi 26 novembre 2007
Statut
Membre
Dernière intervention
16 janvier 2008

REPLACE(TEXTBOX.text,"ligne3", "ligne3" & "test")
Messages postés
181
Date d'inscription
vendredi 3 janvier 2003
Statut
Membre
Dernière intervention
9 avril 2010

c'est une bonne solution fsltp mais le problème c'est que je n'ai pas précisé que le contenu de la textbox change à chaque fois :s

123
Messages postés
94
Date d'inscription
lundi 26 novembre 2007
Statut
Membre
Dernière intervention
16 janvier 2008

C toujours la ligne 3 que tu veux changer ?
sur quels criteres tu veux faire des changements ?
+ precis svp ...
Messages postés
181
Date d'inscription
vendredi 3 janvier 2003
Statut
Membre
Dernière intervention
9 avril 2010

alors c'est toujours la ligne 3 oui et il n'y à aucun critère il faut juste detecter la ligne 3 dans une textbox et alors rajouter à côté de cette ligne "TEST"

123
Messages postés
94
Date d'inscription
lundi 26 novembre 2007
Statut
Membre
Dernière intervention
16 janvier 2008

faut trouver la position du 2eme vbcrlf
avec instr()
puis faire un replace(mid(textbox,position,lg),...)
a creuser
Messages postés
94
Date d'inscription
lundi 26 novembre 2007
Statut
Membre
Dernière intervention
16 janvier 2008

Messages postés
181
Date d'inscription
vendredi 3 janvier 2003
Statut
Membre
Dernière intervention
9 avril 2010

haaa ok pas bête merci je vais voir ce que je peux faire si d'autres membres ont d'autres techniques n'hésitez pas

123
Messages postés
94
Date d'inscription
lundi 26 novembre 2007
Statut
Membre
Dernière intervention
16 janvier 2008

trouver ligne3

a toi de jouer pour la suite

Dim pos1 As Integer
Dim pos2 As Integer
Dim pos3 As Integer

pos1 = InStr(1, Text1.Text, vbCrLf)
pos2 = InStr(pos1 + 1, Text1.Text, vbCrLf)
pos3 = InStr(pos2 + 1, Text1.Text, vbCrLf)
MsgBox Mid(Text1.Text, pos2, pos3 - pos2)
Messages postés
181
Date d'inscription
vendredi 3 janvier 2003
Statut
Membre
Dernière intervention
9 avril 2010

     Text1.Text = Replace(Text1.Text, Mid(Text1.Text, pos2, pos3 - pos2), Mid(Text1.Text, pos2, pos3 - pos2) & vbCrLf & Now)
   
merci ;)

123
Messages postés
181
Date d'inscription
vendredi 3 janvier 2003
Statut
Membre
Dernière intervention
9 avril 2010

et juste par hasard c'est possible de faire la même chose MAIS pas la ligne 3 genre que la ligne à modifier change tout le temps ?

123
Messages postés
94
Date d'inscription
lundi 26 novembre 2007
Statut
Membre
Dernière intervention
16 janvier 2008

je pense que oui mais il faut faire une boucle de 1 à n ou n est la ligne à modifier.
recu dans une tablo de pos(1 à n) au lieu d'avoir pos1 pos2 pos3
...
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
pas la plus optimisée, mais a le mérite d'être simple a comprendre :

Dim xsLines() As String
'# On découpe les lignes
xsLines = Split( Text1.text, VbNewLine)
'# On modifie la ligne 3
xsLines(2) = "Nouvellle ligne 3 (commence à 0)"
'# On replace le tout dans le textBox
Text1.Text = Join(xsLines, vbNewLine)