Textbox

[Résolu]
Signaler
Messages postés
10
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
12 mars 2012
-
Messages postés
10
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
12 mars 2012
-
Bonjour,

Je cherche à sélectionner une phrase dans un textbox.
J'effectue d'abord une recherche de mot dans le texte puis j'aimerais sélectionner la phrase pour la sauvegarder dans un fichier texte.
J'arrive bien à effectuer la recherche (search) et à sauvegarder dans le fichier texte (print) mais pas à sélectionner un morceau de phrase.
Je suppose que je dois utiliser text.selstart et text.sellength mais cela ne fonctionne pas.

Ex:  la phrase est "xxxxx bonjour je m'appelle didier"
Je fais une recherche sur le mot didier (c'est OK)
j'aimerais ne sauveagarder que la phrase "bonjour je m'appelle didier" sans prendre les xxxxx

Si quelqu'un a une idée, cela m'arrangerais bien car je suis bloqué

Merci d'avance

7 réponses

Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Ben...

Sélectionne avec le bouton gauche et utilise SelText !
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Ben...

Sélectionne avec le bouton gauche et utilise SelText !
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Et (tu es bvien sous VB6, hein ... et pas sous VBA !!!)
Une textboix sous VB a un menu contextuel avec tout ce qu'il faut !
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Ceci extrait les 5 caractères précédant la chaîne "dis"

Private Sub Command1_Click()
  toto = " blabladistotoaaaaaaaaaa"
  mot = "dis"
  pos = InStr(toto, mot)
  titi = Left(toto, pos - 1)
  titi = Right(titi, 5)
  MsgBox titi
End Sub
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
et (bien évidemment) ceci également :



Private Sub Command1_Click()
  toto = " blabladistotoaaaaaaaaaa"
  mot = "dis"
  pos = InStr(toto, mot)
  MsgBox Mid(toto, pos - 5, 5)
End Sub





 
Messages postés
10
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
12 mars 2012

Je suis bien en VB6.0
La sélection de la phrase doit être automatique.
Dès que le mot est trouvé, la phrase doit être copiée dans le fichier automatiquement
Voici la partie du programme qui effectue la recherche du mot

      Search = "sanitaires"
     Where = InStr(Text1.Text, Search)
     If Where Then

         'Text1.SelStart = Where - 10
          Text1.SelLength = 30
         'Text1.Text = Text1.SelStart
      
     Open "C:\Documents and Settings\domotique\Bureau\FICHIERTEST.txt" For Append As #1
     Print #1, Text1.Text
     Close #1

Le but est de ne copier que les 38 caractères qui précèdent le mot recherché

Voilà sur quoi je me casse la tête depuis deux jours
Messages postés
10
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
12 mars 2012

Merci.
Avec ta première réponse, j'ai trouvé aussi une solution (fonction seltext)

Search = "sanitaires"
     Where = InStr(Text1.Text, Search)
     If Where Then
     Text1.SelStart = Where - 38
     Text1.SelLength = Len(Text1.Text)
     Text1.Text = Text1.SelText
     Open "C:\Documents and Settings\domotique\Bureau\FICHIERTEST.txt" For Append As #1
     Print #1, Text1.Text   ' Écrit le texte dans le fichier.
     Close #1

Je viens d'effectuer quelques test et apparemment cela fonctionne

Je vais donc pouvoir continuer mon programme.

Encore merci pour tes bonnes idées