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

Excel Discussion :

Faire un CHERCHE avec plusieurs textes à chercher


Sujet :

Excel

  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 93
    Par défaut Faire un CHERCHE avec plusieurs textes à chercher
    Bonjour à tous !

    Mon problème est le suivant :
    J'ai une chaîne de caractère à traiter. Celle-ci contient plusieurs informations que je peux extraire avec un ensemble de SI(ESTNUM(CHERCHE("...";A1));"Texte type";"") imbriqués les un dans les autres.
    Or le nombre de recherche à faire est énorme et la formule est donc très longue et très complexe dans sa lecture.

    J'ai pensé à faire un CHERCHE avec plusieurs textes à chercher.
    L'idée serait d'avoir un tableau avec deux colonnes : la première avec les textes à chercher dans la chaîne de caractère et la deuxième avec les textes correspondant à mettre si le texte cherché est trouvé.

    Je suis donc parti sur un RECHERCHEV pour cela.
    Ex : RECHERCHEV( mot_trouvé ;AF:AG;2;0).

    Pour alimenter ce RECHERCHEV, je fais un SI(ESTNUM(CHERCHE()); ; )
    Ex : SI(ESTNUM(CHERCHE(liste_de_mots_cherchés;chaîne_à_traiter));mot_trouvé;"").

    Mon soucis est que je ne sais pas comment faire, et même si c'est possible, un CHERCHE avec plusieurs textes à chercher. liste_de_mots_cherchés

    Je le précise je saurais le faire en VBA, l'idée est de passer par des formules Excel pour la maintenance du fichier pour des non initiés au VBA. Par contre je peux utiliser une fonction personnalisée si ce n'est pas possible via les fonctions lambda

    Pourriez-vous m'aider, svp ?

    Cordialement

  2. #2
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 93
    Par défaut


    Je vous renvois à ce lien pour la solution. On fait la même chose mais au lieu de plusieurs textes à inspecter, on fait plusieurs textes à chercher.
    Et avec un OU au lieu d'un ET.

    Cependant, je ne sais pas si c'est possible de récupérer la position dans la liste de où il a trouver le mot ...

  3. #3
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 548
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 548
    Par défaut
    Bonjour

    Il me semble qu'il manque quelques précisions :
    • les mots à chercher doivent être dans la même chaîne de caractères ?
    • doivent-ils tous y être ou au moins 1 ?
    • ou bien cherche-t-on n texte dans n chaînes
    • quel doit-être le résultat ? On ne voit pas bien s'il doit être donné chaîne par chaîne ou globalisé...


    Un ou deux exemple précis serait bienvenus

  4. #4
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 93
    Par défaut
    Citation Envoyé par 78chris Voir le message
    Bonjour

    Il me semble qu'il manque quelques précisions :
    • les mots à chercher doivent être dans la même chaîne de caractères ?
    • doivent-ils tous y être ou au moins 1 ?
    • ou bien cherche-t-on n texte dans n chaînes
    • quel doit-être le résultat ? On ne voit pas bien s'il doit être donné chaîne par chaîne ou globalisé...


    Un ou deux exemple précis serait bienvenus
    - Oui ils doivent être dans la même chaîne
    - 1 seul uniquement
    - cf les deux réponses précédentes
    - le but est d'avoir une liste de mots cherchés qui ont leurs résultats associés à renvoyer sur la même ligne mais sur la colonne suivante

    En fait j'ai une colonne Texte qui est un ensemble de texte.
    Le but est de pouvoir typer ces lignes selon l'info qui est dedans.
    Ex : "xxxxxxxxxAirbusxxxxxxxx" est la chaine à examiner.
    Dans ma liste mots cherchés; mots à renvoyer, j'aurais Airbus ==> 1
    Etc etc etc pour plein d'autres possibilités de mots.

    Merci d'avance !

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 93
    Par défaut
    pour info,

    J'essaye de travailler sur ce type de formule matricielle en ce moment :

    Code formule : Sélectionner tout - Visualiser dans une fenêtre à part
    (SI(OU(ESTNUM(CHERCHE(E1:E8;A1)));1;0)*LIGNE($E$1:$E$8))

    Mais quand je lance pas à pas la formule le problème est que je ne parviens pas à renvoyer le numéro de ligne où la correspondance a été trouvée.

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 93
    Par défaut
    C'est bon !

    MAX(SI((ESTNUM(CHERCHE(E1:E8;A1)));LIGNE(E1:E8);0)) me renvoie le numéro de ligne où l’occurrence a été trouvée.

    Puis je le combine à un INDEX : =INDEX(E1:F8;MAX(SI((ESTNUM(CHERCHE(E1:E8;A1)));LIGNE(E1:E8);0));2).

    Et le tour est joué !

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

Discussions similaires

  1. Faire un BMP avec plusieurs PNG, problème de couleur ?
    Par [ZiP] dans le forum Composants VCL
    Réponses: 6
    Dernier message: 09/09/2008, 16h41
  2. Réponses: 1
    Dernier message: 04/04/2008, 13h18
  3. Faire une table avec plusieurs
    Par FCL31 dans le forum Modélisation
    Réponses: 1
    Dernier message: 22/01/2008, 13h44
  4. Méthode find avec plusieurs mots à chercher
    Par domb_st dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 14/06/2007, 17h33
  5. Faire un "Dir" avec plusieurs extensions
    Par Invité(e) dans le forum VB 6 et antérieur
    Réponses: 14
    Dernier message: 15/05/2006, 12h19

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