Chaine de caractère

Résolu
Signaler
Messages postés
35
Date d'inscription
vendredi 6 avril 2007
Statut
Membre
Dernière intervention
23 mai 2007
-
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
-
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

Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
11
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:
Messages postés
561
Date d'inscription
samedi 10 janvier 2004
Statut
Membre
Dernière intervention
11 octobre 2010

Avec la Fonction Instr tu trouveras ton bonheur. Si elle renvoie 0 c'est que abc n'existe pas dans la chaine principale.
Messages postés
561
Date d'inscription
samedi 10 janvier 2004
Statut
Membre
Dernière intervention
11 octobre 2010

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.
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
11
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:
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
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 ...
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
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
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
11
jmfmarques Quels sont les hypothèses?

 Drikce 06 (ForumOfficeEtVBA)
Si la réponse vous convient: Réponse acceptée.
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
essaye donc....