Recherche le premier mot d'une phrase....

petite bille Messages postés 11 Date d'inscription mardi 6 janvier 2004 Statut Membre Dernière intervention 25 janvier 2004 - 23 janv. 2004 à 21:04
petite bille Messages postés 11 Date d'inscription mardi 6 janvier 2004 Statut Membre Dernière intervention 25 janvier 2004 - 25 janv. 2004 à 11:10
Resalut à tous !

Je réécris cette demande après que la première fut éffacée
en la validant.

J'ai créé 3 textBox (Text1.text, Text2.Text, Text3.Text et un bouton).

Dans mon Text1.text, j'écris une phrase ex: "Je suis le plus beau".

J'appuis sur le bouton et dans Text2.text s'inscrit "Je"

Dans la text1.text "Je" s'éfface, laissant le reste de la phrase.

Text3.text sera égal à Text3.text + Text2.text

Bien sûr, a chaque fois que j'appuyerais sur le bouton, ce sera le même procésus .
Petite Bille roule pour vous ! 8-)

7 réponses

petite bille Messages postés 11 Date d'inscription mardi 6 janvier 2004 Statut Membre Dernière intervention 25 janvier 2004
23 janv. 2004 à 21:08
Il y avait après ma demande, des remerciements à tous ceux qui voudraient bien m'aider. Mais pour une raison inconnu cela n'a pas été pris en compte. Alorzs je le fais maintenant , MERCI !!!!

Petite Bille roule pour vous ! 8-)
0
cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
24 janv. 2004 à 00:38
Bonsoir

Pour trouver le premier mot de la phrase, utilise :
- la fonction Left : Left(Texte, 3) = les 3 premiers caractères de Texte
- La fonction Instr : Instr(Texte, Mot) = la position de Mot dans Texte (= 0 si Mot n'est pas dans Texte)

Premier mot de Phrase = Left(Phrase, Instr(Phrase, " "))
(y compris l'espace après le premier mot)
0
pcpunch Messages postés 1243 Date d'inscription mardi 7 mai 2002 Statut Membre Dernière intervention 18 février 2019 5
24 janv. 2004 à 00:57
C' vrai rene38, mais seulement si la phrase reste la mm, je pense pas que c'est ce que cherche Petite Bille

Left(Texte, 3) mais si la phrase est "Maman fait un gateau"

Enfin g lu vite fais !!!! g peu etre pas compris!!!!

Sinon voila comment je vois la chose, avec n'importe quelle phrase:

Private Sub Command1_Click()
'ecrit dans text2 le premier mot de text1
Dim Pos As Integer
Pos = InStr(1, Text1, Space(1))
If Pos <> 0 Then Text2 = Left(Text1, Pos) Else Exit Sub
'efface le premier mot dans text1
Text1 = Replace(Text1, Text2, "")
'affiche dans text2 la phrase initial
Text3 = Text2 & Text1
End Sub


++ :)
0
petite bille Messages postés 11 Date d'inscription mardi 6 janvier 2004 Statut Membre Dernière intervention 25 janvier 2004
24 janv. 2004 à 21:47
Merci rene38 et pcpunch pour vos réponses.

J'ai essayé le code de pcpunch qui était pas mal mais...

la première partie du code fonctionne très bien...

Private Sub Command1_Click()
'ecrit dans text2 le premier mot de text1
Dim Pos As Integer
Pos = InStr(1, Text1, Space(1))
If Pos <> 0 Then Text2 = Left(Text1, Pos) Else Exit Sub

La deuxième partie du code ne fonctionne pas -->

'efface le premier mot dans text1
Text1 = Replace(Text1, Text2, "")

il me renvoi un message qui dit "Fonction ou sub indéfini" et il sélectionne le mot "Replace"

Quant a la troisième partie ce n'est pas ce a quoi je m'attendais.
Dans mon idée mon programme devait fonctionner de cette manière -->

j'écris n'importe quelle phrase dans text1, Example: " Mon cheval est un âne ".

J'appuis sur le bouton, le premier mot " Mon " s'inscrit dans text2 et text3.

Text1 efface le premier mot trouvé et devient une nouvelle phrase " cheval est un âne "

Tant qu'il y aura des mots dans text1 j'appuyerais sur le bouton

Je veux en fait défaire mot à mot la phrase de text1 pour la voir se reconstituer mot à mot dans text3

Petite Bille roule pour vous ! 8-)
0

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

Posez votre question
petite bille Messages postés 11 Date d'inscription mardi 6 janvier 2004 Statut Membre Dernière intervention 25 janvier 2004
24 janv. 2004 à 21:53
J'ai encore oublié de dire merci pour les prochaine réponses

Alors Merci !!!!

Ps: Maintenant il est temps d'aller faire dodo , alors A demain !

Bonne nuit !!!!!!

Petite Bille roule pour vous ! 8-)
0
cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
24 janv. 2004 à 22:39
Pendant le sommeil de Petite Bille, ....

Tu travailles probablement sous VB5 qui ne connait pas la fonction Replace.

Voici un code qui, je pense, répond à ta question :

Private Sub Form_Load()
   Text2.Text = ""
   Text3.Text = ""
End Sub

Private Sub Command1_Click()
Dim Pos As Integer, Mot As String
'*****
Text1.Text = Trim(Text1.Text) & " "
Pos = InStr(Text1.Text, " ") ' Position du 1er espace
Mot = Left(Text1.Text, Pos) ' 1er mot (ou mot unique)
Text2.Text = Mot ' écrit Mot dans Text2
Text3.Text = Text3.Text & Mot ' ajoute Mot à Text3
Text1.Text = Mid(Text1.Text, Pos + 1) ' supprime Mot dans Text1
End Sub


***** j'ajoute un espace à la fin de Text1.Text pour que Pos ne soit pas égal à zéro au dernier mot.
0
petite bille Messages postés 11 Date d'inscription mardi 6 janvier 2004 Statut Membre Dernière intervention 25 janvier 2004
25 janv. 2004 à 11:10
Merci beaucoup RENE38

Ce Code m'a énormément appris et c'est exactement ce que je recherchais. Sans ton aide j'aurais été loin de trouvé ça.

Encore MERCI

Petite Bille roule pour vous ! 8-)
0
Rejoignez-nous