Chaine de caractère

Résolu
molbento Messages postés 35 Date d'inscription vendredi 6 avril 2007 Statut Membre Dernière intervention 23 mai 2007 - 23 mai 2007 à 13:49
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 - 23 mai 2007 à 14:59
Bonjour j'ai un petit problème j'ai une chaine de caractère constante et j'aimerais savoir si une autre chaine de caratère contient la premier chaine dee caractère avec un exemple ca sera plus facile a comprendre. J'ai une première chaine chaine1 =  "abc" une deuxième chaine2 = "bfabcz"
et je me demande comment faire pour savoir si la chaine1 est une chaine de caractère de chaine2.
Existe-il une fonction définit en VB qui permette de faire cela. merci de rep

8 réponses

drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
23 mai 2007 à 14:02
Salut,

dim chaine1 as string =  "abc" 
dim  chaine2 as string = "bfabcz" 
 i = InStr(i + 1, chaine1, chaine2 , vbComparetext)


if i <> 0 then msgbox ("La chaine a été trouvée")

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
3
cs_yvesyves Messages postés 561 Date d'inscription samedi 10 janvier 2004 Statut Membre Dernière intervention 11 octobre 2010
23 mai 2007 à 13:53
Avec la Fonction Instr tu trouveras ton bonheur. Si elle renvoie 0 c'est que abc n'existe pas dans la chaine principale.
0
cs_yvesyves Messages postés 561 Date d'inscription samedi 10 janvier 2004 Statut Membre Dernière intervention 11 octobre 2010
23 mai 2007 à 14:18
Attention Drikce06 on ne sais pas à quoi est égale i. I est le paramètre du début de recherche dans la chaine pricipale. La recherche ne s'effectuera pas avant le caractère i. Ensuite tu peux grâce à une bouche rechercher plusieurs fois abc s'il existe plusieurs fois grâce au resultat du premier Instr qui indique la posiotion de la premiere occurence.
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
23 mai 2007 à 14:21
Ha oui désolé copier/coller bête et méchant c'est pas i+1 mais 1 tout cours merci 215443 yvesyves , j'avais pas fait attention.

dim i as integer
dim chaine1 as string =  "abc" 
dim  chaine2 as string = "bfabcz" 
 i = InStr
(1, chaine1, chaine2 , vbComparetext)

if i <> 0 then msgbox ("La chaine a été trouvée")





 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
0

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

Posez votre question
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
23 mai 2007 à 14:37
Bonjour,
Bis repetita, donc...
S'il veut simlplement savoir si la chaîne est présente, en se moquant de la position de son début, l'utilisation de Like (voir dans l'aide en ligne et une intervention récente d'un cinglé) suffit largement ...
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
23 mai 2007 à 14:44
Démonstration (la dernière, j'espère) :

Private Sub Command1_Click()
 toto = "je vais au marché"
 chercher = "au"
 MsgBox IIf(toto Like "*" & chercher & "*", "présent", "absent")
 chercher = "rigolons"
 MsgBox IIf(toto Like "*" & chercher & "*", "présent", "absent")
End Sub
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
23 mai 2007 à 14:52
jmfmarques Quels sont les hypothèses?

 Drikce 06 (ForumOfficeEtVBA)
Si la réponse vous convient: Réponse acceptée.
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
23 mai 2007 à 14:59
essaye donc....
0
Rejoignez-nous