Bonjour à tous,

Voilà je viens vous exposer un problème assez bizzard, mais je ne trouve pas de solution à ce problème

Au départ, je souhaite savoir si un caractère est présent dans une string ou pas, et pour cela j'utilise la fonction inStr.

Le problème est que celle-ci me donne des droles de résultats, et ne fonctionne pas correctement.

Par exemple, si j'utilise ce code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
   Dim caractereRecherche As String
   Dim ChaineALire As String
   ChaineALire = ListeEntity(i).WholeName(j) 'est égale à "dddddddddd ? ????"
   caractereRecherche  = "?"
   Dim res As Integer
   res = InStr(1,ChaineALire  ,caractereRecherche , vbTextCompare
Le résultat me donne 0. Le problème est qu'il y a bien le caractère "?" dans la chaine.

Si en revanche, je fais le code suivant, ca fonctionne correctement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
   Dim caractereRecherche As String
   Dim ChaineALire As String
   caractereRecherche  = "?"
   Dim res As Integer
   res = InStr(1,"dddddddddd ? ????","?" , vbTextCompare
Ca retourne 12, donc ca fonctionne bien.

J'ai bien essayé de convertir mon ListeEntity(i).WholeName(j) en string avec la fonction Cstr, mais ca ne change rien (c'est déja un string en plus).
J'ai essayé de changer de type de comparaison, de binaire à texte, mais rien ne se passe également, ca retourne toujours 0.

Enfin, si j'essaye de recherche un autre caractère, ca fonctionne bien !

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
   Dim caractereRecherche As String
   Dim ChaineALire As String
   ChaineALire = ListeEntity(i).WholeName(j) 'est égale à "dddddddddd ? ????"
   caractereRecherche  = "d"
   Dim res As Integer
   res = InStr(1,ChaineALire  ,caractereRecherche , vbTextCompare
Ca va bien me retourner 1.

C'est un problème assez bizzard, mais peut-etre avez-vous déja eu le cas.

Mon but étant juste de savoir si le caractère "?" est présent, je n'ai pas besoin de connaitre sa position.

Une autre fonction existe peut-etre pour cela ?

D'avance merci, et j'espère que mon problème est assez claire