Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comparaison de string

3 réponses
Avatar
Nyck0las
Bonjour,

Dans ma macro, j'aimerais r=E9aliser une fonction de test qui
permettrait de d=E9terminer si un string (qu'on va appeler ref) poss=E8de
le sous-string (appel=E9 ech).

Par exemple la fonstion EstInclus(ech, ref) doit retourner true pour :
ech=3D "nbo" ref=3D"bonbon"

Mon probl=E8me c'est qu'il faudrait que =E7=E0 marche sans distinction avec
ou sans majuscules, donc renvoyer true pour :
ech =3D "nbo" et ref=3D"BONbON" ou ref=3DboNbOn"

et l=E0 je coince parce que si je fais un test du genre :
mid(ech,1) =3D mid(ref,i,len(ech))
=E7=E0 va me renvoyer false si la casse est diff=E9rente

Comment puis-je m'en sortir ??

3 réponses

Avatar
Jacky
Bonjour,

Et en travaillant avec Like et Ucase ??
Un coup de F1 pour les aides
'--------
MsgBox UCase("AAA") Like UCase("*a*")
MsgBox UCase("BONBON") Like UCase("*nBo*")
'---------

--
Salutations
JJ


"Nyck0las" a écrit dans le message de news:

Bonjour,

Dans ma macro, j'aimerais réaliser une fonction de test qui
permettrait de déterminer si un string (qu'on va appeler ref) possède
le sous-string (appelé ech).

Par exemple la fonstion EstInclus(ech, ref) doit retourner true pour :
ech= "nbo" ref="bonbon"

Mon problème c'est qu'il faudrait que çà marche sans distinction avec
ou sans majuscules, donc renvoyer true pour :
ech = "nbo" et ref="BONbON" ou ref=boNbOn"

et là je coince parce que si je fais un test du genre :
mid(ech,1) = mid(ref,i,len(ech))
çà va me renvoyer false si la casse est différente

Comment puis-je m'en sortir ??
Avatar
Tatanka
Salut,

Essaie ceci :

Sub Essai()
Dim ech$, ref$, r As Boolean
ech = "nbo"
ref = "bonbon"
MsgBox EstInclus(UCase(ech), UCase(ref))
End Sub

Function EstInclus(x$, y$) As Boolean
'Est-ce que x est inclus dans y
If InStr(1, y, x) <> 0 Then EstInclus = True Else EstInclus = False
End Function

Serge


"Nyck0las" a écrit dans le message de news:

Bonjour,

Dans ma macro, j'aimerais réaliser une fonction de test qui
permettrait de déterminer si un string (qu'on va appeler ref) possède
le sous-string (appelé ech).

Par exemple la fonstion EstInclus(ech, ref) doit retourner true pour :
ech= "nbo" ref="bonbon"

Mon problème c'est qu'il faudrait que çà marche sans distinction avec
ou sans majuscules, donc renvoyer true pour :
ech = "nbo" et ref="BONbON" ou ref=boNbOn"

et là je coince parce que si je fais un test du genre :
mid(ech,1) = mid(ref,i,len(ech))
çà va me renvoyer false si la casse est différente

Comment puis-je m'en sortir ??
Avatar
Tatanka
Salut,

Essaie ceci :

Sub Essai()
Dim ech$, ref$, r As Boolean
ech = "nbo"
ref = "bonbon"
MsgBox EstInclus(UCase(ech), UCase(ref))
End Sub

Function EstInclus(x$, y$) As Boolean
'Est-ce que x est inclus dans y
If InStr(1, y, x) <> 0 Then EstInclus = True Else EstInclus = False
End Function

Serge

"Nyck0las" a écrit dans le message de news:

Bonjour,

Dans ma macro, j'aimerais réaliser une fonction de test qui
permettrait de déterminer si un string (qu'on va appeler ref) possède
le sous-string (appelé ech).

Par exemple la fonstion EstInclus(ech, ref) doit retourner true pour :
ech= "nbo" ref="bonbon"

Mon problème c'est qu'il faudrait que çà marche sans distinction avec
ou sans majuscules, donc renvoyer true pour :
ech = "nbo" et ref="BONbON" ou ref=boNbOn"

et là je coince parce que si je fais un test du genre :
mid(ech,1) = mid(ref,i,len(ech))
çà va me renvoyer false si la casse est différente

Comment puis-je m'en sortir ??