Chercher une chaîne dans une autre

Résolu
chocolatgc Messages postés 34 Date d'inscription samedi 18 février 2006 Statut Membre Dernière intervention 26 octobre 2012 - 20 nov. 2007 à 15:35
chocolatgc Messages postés 34 Date d'inscription samedi 18 février 2006 Statut Membre Dernière intervention 26 octobre 2012 - 22 nov. 2007 à 08:27
Bonjour

je souhaiterai savoir comment chercher une suite caractères dans une chaîne.

Exemple comment trouver le mot "Vide" dans la phrase suivant "Le verre est vide"

bien sur ensuite valuer une function à true si Ok !

Merci beaucoup pour vos conseils.

Chocolat GC

6 réponses

GEDDi Messages postés 206 Date d'inscription lundi 22 novembre 1999 Statut Membre Dernière intervention 3 juillet 2008
21 nov. 2007 à 14:37
Bonjour,

findWord = CBool(InStr(1, szSentence, szWordToFind))

ou encore

findWord = InStr(1, szSentence, szWordToFind)

donneront EXACTEMENT LE MEME résultat vu que la fonction dans laquelle ce code se trouve est de type BOOLéenne, la fonction 'caste' pour toi.

J'ai juste donné le 'CBool' en guise d'aide à la compréhension fonctionnelle de la chose.
Testes par toi meme et tu verras :)

Gérôme GUILLEMIN
Auteur du langage FBSL
3
GEDDi Messages postés 206 Date d'inscription lundi 22 novembre 1999 Statut Membre Dernière intervention 3 juillet 2008
20 nov. 2007 à 16:21
Bonjour,

Essayes ceci :

Sub test()
    MsgBox findWord("Le verre est vide", "vide")
End Sub

Public Function findWord(szSentence As String, szWordToFind As String) As Boolean
Const phrase = "Le verre est vide"
    findWord = CBool(InStr(1, szSentence, szWordToFind))
End Function

Gérôme GUILLEMIN
Auteur du langage FBSL
0
GEDDi Messages postés 206 Date d'inscription lundi 22 novembre 1999 Statut Membre Dernière intervention 3 juillet 2008
20 nov. 2007 à 16:21
Once eugène...

Ceci :

Sub test()
    MsgBox findWord("Le verre est vide", "vide")
End Sub

Public Function findWord(szSentence As String, szWordToFind As String) As Boolean
    findWord = CBool(InStr(1, szSentence, szWordToFind))
End Function

Gérôme GUILLEMIN
Auteur du langage FBSL
0
Kristof_Koder Messages postés 918 Date d'inscription vendredi 3 août 2007 Statut Membre Dernière intervention 27 octobre 2008 10
21 nov. 2007 à 00:06
Il est généralement déconseillé de convertir un entier en booléen, donc je ferais plutot ceci :
findWord = (InStr(szSentence, szWordToFind) <> 0)
0

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

Posez votre question
chocolatgc Messages postés 34 Date d'inscription samedi 18 février 2006 Statut Membre Dernière intervention 26 octobre 2012
21 nov. 2007 à 16:29
Merci pour vos réponses, je vais essayer ça demain.

Chocolat GC

PS : je validerai par la même occasion ...
0
chocolatgc Messages postés 34 Date d'inscription samedi 18 février 2006 Statut Membre Dernière intervention 26 octobre 2012
22 nov. 2007 à 08:27
Merci pour ton aide GEDDi, je me suis permis d'ajouter un argument :

findWord = InStr(1, szSentence, szWordToFind,1)

,1, afin de ne pas tenir compte des majuscules ou minuscule.

encore Merci

Chocolat GC
0
Rejoignez-nous