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

Macros et VBA Excel Discussion :

Rechercher un texte dans une chaine de caractère [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Février 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2016
    Messages : 7
    Par défaut Rechercher un texte dans une chaine de caractère
    Bonjour,
    J'essaie de recherche une chaine de caractére dans une autre chaine. Pour cela, j'utilise la fonction inStr mais le résultat me renvoie systématiquement la valeur 0.
    Ma chaîne de caractère est par exemple (dans la cellule cells(i,1) : /category/le-voiture-jaune/ et je souhaite trouver le mot "categorie" pour l'extraire et le mettre dans une autre cellule cells(i,9).

    Voici la syntaxe employée dans une boucle (j'ai plusieurs lignes à parcourir) : cells(i,9)=instr(1,"/category/",cells(i,1))

    Le résultat renvoyé est 0. Avez-vous une idée de la solution ? Les "/" peuvent-ils poser un problème dans ce cas de figure ?

    Merci de votre retour
    A bientôt

  2. #2
    Membre très actif
    Homme Profil pro
    Analyste programmeur
    Inscrit en
    Mai 2014
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyste programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 393
    Par défaut
    Alors oui les "/" peuvent poser problème. Tu dois également consulter ta chaine à partir du premier caractère, qui commence à l'indice 0 normalement (si je ne me trompe, car non testé ajd) .
    Pour cela je te conseille d'utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     cells(i,9) = InStr(0, chr(47) & "category" & chr(47), cells(i,1) )
    47 étant le code Ascii pour "/" et chr() la fonction qui retourne le caractère correspondant à son code ascii

    De plus, vérifie bien ton orthographe, tu nous parles de
    trouver le mot "categorie"
    avec categorIE et non catergorY.
    Et je ne sais plus, mais il se pourrait que la fonction InStr soit sensible à la casse, vérifie tes majuscules et minuscules si tel est le cas.

  3. #3
    Membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Février 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2016
    Messages : 7
    Par défaut
    OK merci jeanmidudu. Je vais tester comme tu dis. Et effectivement, c'est moi qui ai fait une coquille. J'ai bien la même orthographe du mot category.
    Je te tiens au courant

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Tu auras plus de chance comme ça
    =instr(1,cells(i,1),"/category/")

  5. #5
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132

  6. #6
    Membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Février 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2016
    Messages : 7
    Par défaut
    Citation Envoyé par rdurupt Voir le message
    Bonjour,
    Tu auras plus de chance comme ça
    =instr(1,cells(i,1),"/category/")
    Tu veux dire que ma question est mal formulée ? Mes excuses, je suis nouveau.
    Et merci pour la solution, ça marche au poil... je me débrouille... enfin j'espère

  7. #7
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par fossi69 Voir le message
    Tu veux dire que ma question est mal formulée ? Mes excuses, je suis nouveau.
    Et merci pour la solution, ça marche au poil... je me débrouille... enfin j'espère

    Ces ma signature je le dis à tout le monde c'est un grand problème récurent et la là ce ne te concerne pas!

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

Discussions similaires

  1. [RegEx] Recherche de terme dans une chaine de caractère
    Par Sekigawa dans le forum Langage
    Réponses: 3
    Dernier message: 24/07/2009, 16h06
  2. Rechercher du texte dans une chaine
    Par Zanku dans le forum Windows
    Réponses: 2
    Dernier message: 12/01/2009, 17h13
  3. Recherche de texte dans une chaine de caractères
    Par julien20vt dans le forum Oracle
    Réponses: 7
    Dernier message: 19/12/2006, 10h02
  4. [RegEx] recherche et replacement dans une chaine de caractère
    Par Ekimasu dans le forum Langage
    Réponses: 5
    Dernier message: 28/11/2006, 21h39
  5. recherche de mots dans une chaine de caractères
    Par jeanfrancois dans le forum Langage
    Réponses: 5
    Dernier message: 10/02/2006, 10h47

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