IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Problème avec InStr


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mai 2004
    Messages
    304
    Détails du profil
    Informations personnelles :
    Âge : 71

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2004
    Messages : 304
    Par défaut Problème avec InStr
    Bonjour à tous
    J'ai un petit souci avec la fonction InStr
    J'utilise cela pour changer la couleur d'un texte suite à une recherche par nom ou morceau de nom
    Voici mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If InStr(TextBoxActeur1.Text, TxtActeur.Text) <> 0 Then
                TextBoxActeur1.ForeColor = Color.Red
            ElseIf InStr(TextBoxActeur1.Text, TxtActeur.Text) = 0 Then
                TextBoxActeur1.ForeColor = Color.Black
    Exemples : Si je tape gabin ou Gabin ou Jean Gabin ça marche, ça s'affiche bien en rouge
    Par contre si je tape le nom exact sans les majuscules, le nom reste affiché en noir

    Auriez-vous une idée à me suggérer ?
    Merci d'avance

  2. #2
    Membre éclairé
    Inscrit en
    Mai 2004
    Messages
    304
    Détails du profil
    Informations personnelles :
    Âge : 71

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2004
    Messages : 304
    Par défaut
    Bonjour
    J'ai trouvé la solution
    Cela venait du format du champ de mon form de recherche
    J'avais codé comme ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TextBoxActeur.Text = UCase(Microsoft.VisualBasic.Left(TxtActeur.Text, 1)) & Mid(TxtActeur.Text, 2)
    Ce qui fait que seul le premier mot était en majuscule et pas celui derrière l'espace !!
    Après changement comme suit ça fonctionne à tous les coups

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     TextBoxActeur.Text = StrConv(TxtActeur.Text, VbStrConv.ProperCase)

  3. #3
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Bonjour,

    Peut-être que ceci (avec ToUpper) fonctionnera comme tu le veux :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    If InStr(TextBoxActeur1.Text.ToUpper, TxtActeur.Text.ToUpper) <> 0 Then
                TextBoxActeur1.ForeColor = Color.Red
         '   ElseIf InStr(TextBoxActeur1.Text, TxtActeur.Text) = 0 Then  ' !!! Pas besoin de ce ElseIf. ELSE suffit car si ce n'est pas <> 0, alors c'est obligatoirement = 0. Pas besoin de le tester.
    Else
                TextBoxActeur1.ForeColor = Color.Black
    ' ... ... ... 
    End If

  4. #4
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Nos messages viennent de se croiser

    Je crois ma solution plus simple.

    A toi de voir ...

  5. #5
    Membre Expert Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 573
    Par défaut
    Bonjour,
    Instr et Ucase c'est du VB6 Voir du VBA pas du VB.net!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TextBoxActeur1.ForeColor = If(TextBoxActeur1.Text.ToUpper.IndexOf(TxtActeur.Text.ToUpper) = 0, Color.Black, Color.Red)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Problème avec la fonction InStr
    Par phil_qc dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 02/09/2014, 18h50
  2. [AC-2007] Problème de listes liées avec instr. UNION
    Par Axe_Débutant dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 02/03/2013, 10h26
  3. Problème avec instr
    Par pasrico dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 05/02/2013, 17h32
  4. Problème avec mon select + instr
    Par jacko842 dans le forum SQL
    Réponses: 2
    Dernier message: 10/05/2012, 16h15
  5. Problème requête avec INSTR()
    Par yohan0262 dans le forum Langage SQL
    Réponses: 9
    Dernier message: 13/06/2007, 10h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo