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 :

Fonction CHERCHE avec plusieurs "texte_cherché" [XL-365]


Sujet :

Excel

  1. #1
    Membre régulier
    Profil pro
    Consultant finance
    Inscrit en
    Mars 2009
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant finance

    Informations forums :
    Inscription : Mars 2009
    Messages : 165
    Points : 75
    Points
    75
    Par défaut Fonction CHERCHE avec plusieurs "texte_cherché"
    Bonjour,

    Je voudrais pouvoir trouver le texte PCE ou BT ou KG dans une cellule.

    J'utilise la fonction CHERCHE :
    Code formule : Sélectionner tout - Visualiser dans une fenêtre à part
    =CHERCHE("PCE";A1)

    mais en existe-t-il une autre qui permet plus d'arguments (si possible sans passer par une macro).

    Merci beaucoup pour votre aide.

    JPG

  2. #2
    Invité
    Invité(e)
    Par défaut
    Peut-être avec une condition :

    Code formule : Sélectionner tout - Visualiser dans une fenêtre à part
    SIERREUR(RECHERCHE("PCE";A:A);RECHERCHE("BT";A:A))
    Dernière modification par Invité ; 08/09/2022 à 23h08.

  3. #3
    Membre émérite
    Homme Profil pro
    ingénieur
    Inscrit en
    Mars 2015
    Messages
    1 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : ingénieur
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2015
    Messages : 1 041
    Points : 2 492
    Points
    2 492
    Par défaut
    Bonjour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =OU(ESTNUM(CHERCHE({"PCE";"BT";"KG"};A1)))
    renverra VRAI s'il trouve un des trois termes PCE, BT ou KG dans la cellule et FAUX si aucun n'est présent

    Stéphane

  4. #4
    Membre régulier
    Profil pro
    Consultant finance
    Inscrit en
    Mars 2009
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant finance

    Informations forums :
    Inscription : Mars 2009
    Messages : 165
    Points : 75
    Points
    75
    Par défaut
    Merci pour cette réponse, c'est possible d'obtenir la position de PCE ou BT ou KG ?

  5. #5
    Membre émérite
    Homme Profil pro
    ingénieur
    Inscrit en
    Mars 2015
    Messages
    1 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : ingénieur
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2015
    Messages : 1 041
    Points : 2 492
    Points
    2 492
    Par défaut
    Oui, bien sûr

    par exemple avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =JOINDRE.TEXTE(CAR(10);;{"PCE";"BT";"KG"}&": "&SIERREUR(CHERCHE({"PCE";"BT";"KG"};A1);"NA"))
    le JOINDRE.TEXTE(CAR(10) permet d'aller à la ligne
    le SIERREUR permet d'afficher NA si le texte n'est pas trouvé

    Nom : 2022_09_08 Position texte.JPG
Affichages : 303
Taille : 22,5 Ko

    Stéphane

  6. #6
    Membre émérite
    Homme Profil pro
    ingénieur
    Inscrit en
    Mars 2015
    Messages
    1 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : ingénieur
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2015
    Messages : 1 041
    Points : 2 492
    Points
    2 492
    Par défaut
    Un autre exemple pour identifier la première des trois chaines dans le texte et sa position
    l'usage de LET permet d'éviter l'usage à trois reprises de la même fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    =LET(
    liste;{"PCE";"BT";"KG"};
    position;CHERCHE(liste;A1);
    SIERREUR(INDEX(liste&": "&position;EQUIV(MIN(SIERREUR(position;""));position));"Aucun"))
    ou avec RECHERCHEX pour éviter le SIERREUR(INDEX...;EQUIV...) et une définition de la liste des textes cherchés

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    =LET(
    liste;{"PCE";"BT";"KG"};
    position;CHERCHE(liste;A1);
    RECHERCHEX(MIN(SIERREUR(position;""));position;liste&": "&position;"Aucun"))
    Stéphane

  7. #7
    Membre régulier
    Profil pro
    Consultant finance
    Inscrit en
    Mars 2009
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant finance

    Informations forums :
    Inscription : Mars 2009
    Messages : 165
    Points : 75
    Points
    75
    Par défaut
    Merci pour toutes ces réponses, mais je ne parviens pas à identifier l'argument qui me renvoie 20 pour PCE (dans le résultat de votre exemple).
    Sachant que dans mon cas, je n'aurai jamais les 3 (PCE, BT ou KG) dans A1 c'est soit l'un soit l'autre (il s'agit d'une unité qui est soit Pièce, soit Kilo...)

  8. #8
    Membre émérite
    Homme Profil pro
    ingénieur
    Inscrit en
    Mars 2015
    Messages
    1 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : ingénieur
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2015
    Messages : 1 041
    Points : 2 492
    Points
    2 492
    Par défaut
    C'est la fonction CHERCHE qui renvoie la position de "PCE" dans le texte

  9. #9
    Membre émérite
    Homme Profil pro
    ingénieur
    Inscrit en
    Mars 2015
    Messages
    1 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : ingénieur
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2015
    Messages : 1 041
    Points : 2 492
    Points
    2 492
    Par défaut
    J'ai répondu dans le cas général avec potentiellement beaucoup de texte cherché, mais si que 3 possible, voici une formule avec 3 CHERCHE imbriqué

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SIERREUR("PCE : "&CHERCHE("PCE";A1);SIERREUR("KG : "&CHERCHE("KG";A1);SIERREUR("BT : "&CHERCHE("BT";A1);"Aucun")))
    Stéphane

  10. #10
    Membre régulier
    Profil pro
    Consultant finance
    Inscrit en
    Mars 2009
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant finance

    Informations forums :
    Inscription : Mars 2009
    Messages : 165
    Points : 75
    Points
    75
    Par défaut
    Non mais j'aimais bien la formule avec les {} mais elle occupe autant de cellules que d'arguments, lorsque je saisis en B1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SIERREUR(CHERCHE({"PCE";"BT";"KG"};A1);"NA")
    la formule se propage sur B2 et B3 également (et si je colle en dessous, j'obtiens #EPARS!)

    Et c'est juste pour mon post que je n'ai cité que 3 arguments, mais il y en a beaucoup plus. Seulement seul l'un d'entre eux apparaîtra dans la cellule A1

    Merci encore

  11. #11
    Membre émérite
    Homme Profil pro
    ingénieur
    Inscrit en
    Mars 2015
    Messages
    1 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : ingénieur
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2015
    Messages : 1 041
    Points : 2 492
    Points
    2 492
    Par défaut
    Quelque chose comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    =LET(
    liste;{"PCE";"BT";"KG"};
    position;CHERCHE(liste;A1);
    RECHERCHEX(VRAI;ESTNUM(position);liste&": "&position;"Aucun"))
    c'est normal pour les cellules B2 et B3, c'est une fonction matricielle. D'où le JOINDRE.TEXTE que je proposais initialement ou ici le RECHERCHEX qui va récupérer la première valeur numérique

    Stéphane

  12. #12
    Membre émérite
    Homme Profil pro
    ingénieur
    Inscrit en
    Mars 2015
    Messages
    1 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : ingénieur
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2015
    Messages : 1 041
    Points : 2 492
    Points
    2 492
    Par défaut
    Citation Envoyé par jpg75014 Voir le message
    ...

    Et c'est juste pour mon post que je n'ai cité que 3 arguments, mais il y en a beaucoup plus. Seulement seul l'un d'entre eux apparaîtra dans la cellule A1 ...
    Bonjour
    En complément, plutôt que de stocker la liste {"PCE";"BT";"KG"} dans la formule le mieux est de la mettre dans un tableau et de faire référence à ce tableau dans la formule Tableau[Colonne]
    Il sera ainsi facile d'ajouter un élément à la liste.

    Stéphane

  13. #13
    Membre régulier
    Profil pro
    Consultant finance
    Inscrit en
    Mars 2009
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant finance

    Informations forums :
    Inscription : Mars 2009
    Messages : 165
    Points : 75
    Points
    75
    Par défaut
    Citation Envoyé par Raccourcix Voir le message
    Bonjour
    En complément, plutôt que de stocker la liste {"PCE";"BT";"KG"} dans la formule le mieux est de la mettre dans un tableau et de faire référence à ce tableau dans la formule Tableau[Colonne]
    Il sera ainsi facile d'ajouter un élément à la liste.

    Stéphane
    Vous pourriez me montrer un exemple svp ? Avec CHERCHE ?

  14. #14
    Membre émérite
    Homme Profil pro
    ingénieur
    Inscrit en
    Mars 2015
    Messages
    1 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : ingénieur
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2015
    Messages : 1 041
    Points : 2 492
    Points
    2 492
    Par défaut
    Par exemple en cellule E5
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =RECHERCHEX(VRAI;ESTNUM(CHERCHE(Liste_Unité[Unité];A5));Liste_Unité[Unité];"aucun")
    pour récupérer l'unité présente dans la cellule A5 d'après la liste des unités qui est stockée ailleurs dans le classeur

    Nom : 2022_09_08 Position texte 2.JPG
Affichages : 297
Taille : 105,7 Ko

    le LET proposé précédemment est pour éviter de faire appel plusieurs fois à la même fonction

    Stéphane

  15. #15
    Membre régulier
    Profil pro
    Consultant finance
    Inscrit en
    Mars 2009
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant finance

    Informations forums :
    Inscription : Mars 2009
    Messages : 165
    Points : 75
    Points
    75
    Par défaut
    Merci beaucoup, c'est parfait

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

Discussions similaires

  1. [XL-2007] Fonction IF avec plusieurs condition
    Par grayfox1 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 09/11/2010, 15h49
  2. [XL-2003] Fonction CHERCHE avec séquence caracteres
    Par dirk pitt dans le forum Excel
    Réponses: 2
    Dernier message: 28/10/2009, 14h58
  3. [XL-2003] Fonction 'like' avec plusieurs arguments
    Par bdoux33 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 14/05/2009, 15h44
  4. [XL-2002] fonction NBVAL avec plusieurs critères
    Par polynesian turtle dans le forum Excel
    Réponses: 2
    Dernier message: 14/04/2009, 15h05
  5. Fonction SI avec plusieurs
    Par Philippe608 dans le forum Excel
    Réponses: 3
    Dernier message: 29/06/2008, 15h46

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