écrire ligne précise textbox

maxsecurite2 Messages postés 181 Date d'inscription vendredi 3 janvier 2003 Statut Membre Dernière intervention 9 avril 2010 - 10 déc. 2007 à 21:00
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 11 déc. 2007 à 14:44
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

fsltp Messages postés 94 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 16 janvier 2008
10 déc. 2007 à 21:03
REPLACE(TEXTBOX.text,"ligne3", "ligne3" & "test")
maxsecurite2 Messages postés 181 Date d'inscription vendredi 3 janvier 2003 Statut Membre Dernière intervention 9 avril 2010
10 déc. 2007 à 21:13
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
fsltp Messages postés 94 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 16 janvier 2008
10 déc. 2007 à 21:18
C toujours la ligne 3 que tu veux changer ?
sur quels criteres tu veux faire des changements ?
+ precis svp ...
maxsecurite2 Messages postés 181 Date d'inscription vendredi 3 janvier 2003 Statut Membre Dernière intervention 9 avril 2010
10 déc. 2007 à 21:23
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
fsltp Messages postés 94 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 16 janvier 2008
10 déc. 2007 à 21:30
faut trouver la position du 2eme vbcrlf
avec instr()
puis faire un replace(mid(textbox,position,lg),...)
a creuser
fsltp Messages postés 94 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 16 janvier 2008
10 déc. 2007 à 21:32
maxsecurite2 Messages postés 181 Date d'inscription vendredi 3 janvier 2003 Statut Membre Dernière intervention 9 avril 2010
10 déc. 2007 à 21:37
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
fsltp Messages postés 94 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 16 janvier 2008
10 déc. 2007 à 21:40
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)
maxsecurite2 Messages postés 181 Date d'inscription vendredi 3 janvier 2003 Statut Membre Dernière intervention 9 avril 2010
10 déc. 2007 à 21:45
     Text1.Text = Replace(Text1.Text, Mid(Text1.Text, pos2, pos3 - pos2), Mid(Text1.Text, pos2, pos3 - pos2) & vbCrLf & Now)
   
merci ;)

123
maxsecurite2 Messages postés 181 Date d'inscription vendredi 3 janvier 2003 Statut Membre Dernière intervention 9 avril 2010
10 déc. 2007 à 21:47
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
fsltp Messages postés 94 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 16 janvier 2008
11 déc. 2007 à 07:26
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
...
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
11 déc. 2007 à 14:44
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)
Rejoignez-nous