IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

Récupérer le texte entre deux mots


Sujet :

VB 6 et antérieur

  1. #1
    Membre régulier Avatar de Ramdoulou
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    286
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 286
    Points : 107
    Points
    107
    Par défaut Récupérer le texte entre deux mots
    Bonsoir

    Alors voilà, je développe un logiciel qui a pour but en gros d'editer certaines choses...

    Je cherche à récupérer le texte contenu entre 2 mots dans un Richtextbox

    Donc dans mon module j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Public Function Extrait(TxtSrc As String, Départ As String, Arriver As String)
    pos1% = InStr(1, TxtSrc, Départ)
    If pos1% = 0 Then Exit Function
    pos2% = InStr(pos1%, TxtSrc, Arriver)
    If pos2% = 0 Then Exit Function
    Extrait = Mid(TxtSrc, pos1% + Len(Départ), pos2% - pos1% - Len(Arriver))
    End Function
    Et ensuite dans mon CommandButton :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Command1_Click()
    Text3 = Extrait(Text1, Text2.Text, Text4.Text)
    End Sub
    Seulement a chaque fois par exemple, si les contenus de mes text2 et text4 sont respectivements : "Coucou" et ">" et que la phrase est "<Coucou je suis x>" bah ca me met comme resultat " je suis x>
    \p".

    Donc ça c'est la première erreur, donc \p désigne le saut d'une ligne, et jveux pas qu'il apparaisse, jveux juste qu'il y ai un saut de ligne normal...

    Ensuite la seconde erreur, c'est que par exemple si le texte est "- Faire une version Vista (Program au lieu de Program Files)" et que les mots sont "Faire" et "Program Files", bah le résultat sera " une version Vista (Program au "... louche hein ?

    Donc voilà, quelqu'un aurai une solution pour résoudre ces satanés problèmes ?

    Merci d'avance

    Amicalement, Pablo

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    Je suis pas sur d'avoir tout compris mais essai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Public Function Extrait2(TxtSrc As String, Départ As String, Arriver As String)
    pos1% = InStr(1, TxtSrc, Départ)
    If pos1% = 0 Then Exit Function
    pos1% = pos1% + Len(Départ)
    pos2% = InStr(pos1%, TxtSrc, Arriver)
    If pos2% = 0 Then Exit Function
    Extrait2 = Mid(TxtSrc, pos1%, pos2% - pos1%)
    End Function
    j'ai juste un peu modifier ton code..

  3. #3
    Membre régulier Avatar de Ramdoulou
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    286
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 286
    Points : 107
    Points
    107
    Par défaut
    Parfais ca marche

    Merci beaucoup =D

  4. #4
    Membre régulier Avatar de Ramdoulou
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    286
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 286
    Points : 107
    Points
    107
    Par défaut
    Désolé d'avoir réouvert ce topic mais j'ai un autre problème.

    Alors voilà, j'aimerai que si par exemple on modifie ce qu'il y a entre les 2 mots qu'on a inscrit, que ça affiche ensuite le resultat sous un textbox donc Le début du texte de départ + La modif + La fin du texte de départ.

    Si vous ne comprenez pas n'hesitez pas à le dire ^^'

    merci d'avance

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 24
    Points : 11
    Points
    11
    Par défaut
    si je ne fais pas erreur dans tes variables et que j'ai bien compris la demande

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Dim Txt_Msgbox as string
     
    Txt_Msgbox =Text2.Text & Text3 & Text4.Text
    Msgbox Txt_Msgbox

  6. #6
    Membre régulier Avatar de Ramdoulou
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    286
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 286
    Points : 107
    Points
    107
    Par défaut
    Merci pour ta réponse

    Ca ne marche pas, j'obtiens un résultat genre "FAIRE{\rtf1\ansi\deff0{\fonttbl{\f0\fnil\fcharset0 MS Sans Serif;}}
    \viewkind4\uc1\pard\lang1036\f0\fs17 UNE TCHOUBIDOU
    \par }
    Vista"

    Enfaite, ca affiche bien les mots etc...mais avec les font etc...=x
    ("Vista" est en trop...)

    Mais limite il faudrait que lorsque on récupère ce qu'il y a entre les 2 mots qu'on a choisi, ca fasse un Couper/Coller dans le 2ème textbox, et que quand on le modifie dans le 2eme textbox, ca affiche le contenu du 1er textbox (donc sans ce qu'il y avait entre les 2 mots)dans le textbox 3, et ça fait un couper/coller du contenu du 2eme textbox (ce qui a été modifié donc) entre les 2 mots de base dans le 3ème textbox.

    Aïe Aïe Aïe j'ai du mal à etre plus explicite ='(

  7. #7
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 092
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 092
    Points : 16 604
    Points
    16 604
    Par défaut
    Pourquoi faire ton analyse a partir de la propriété .SelRTF ou .TextRTF (donc comprenant tous les codes .RTF), en faisant cette analyse depuis .SelText ou .Text, le probléme serait peut être plus facile a resoudre, et en tout cas les codes de formatage RTF n'apparaitront plus.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [RegEx] Récupérer du texte entre deux chaines de caractères
    Par Globolite dans le forum Langage
    Réponses: 3
    Dernier message: 10/07/2014, 16h38
  2. [RegEx] comment récupérer une chaine entre deux mots
    Par mat8883 dans le forum Langage
    Réponses: 3
    Dernier message: 14/11/2012, 19h29
  3. [RegEx] Comment récupérer le texte entre deux motifs ?
    Par whitespirit dans le forum Langage
    Réponses: 6
    Dernier message: 25/03/2010, 21h59
  4. Récupérer un texte entre deux balises prédéfinies
    Par Zaki_SDwin dans le forum Contribuez
    Réponses: 6
    Dernier message: 28/05/2008, 20h50
  5. [C# 1.1] Comment récupérer du texte entre des mots connus ?
    Par foolsky dans le forum Windows Mobile
    Réponses: 8
    Dernier message: 26/04/2006, 14h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo