Recherchev à partir d'une sous chaine de caractères

Fermé
Pat92000 Messages postés 7 Date d'inscription mardi 5 avril 2016 Statut Membre Dernière intervention 19 février 2021 - 18 janv. 2021 à 20:03
ALS35 Messages postés 1033 Date d'inscription jeudi 18 juillet 2019 Statut Membre Dernière intervention 9 janvier 2024 - 22 févr. 2021 à 09:35
Bonjour,
j'utilise communément la fonction recherchev. Elle me permet d'associer une valeur contenue dans une table à une chaine de caractère retrouvée.
Mon problème est que dans le cas présent, les valeurs à trouver sont au milieu d'une chaine de caractères plus longue.
comment faire?
je donne un exemple : j'ai des centaines de lignes de relevés bancaires et je voudrais mettre en regard dans une cellule le numéro de code comptable lorsque par exemple dans la chaine de caractères de l'intitulé on voit le mot "Poste" ou "EDF" ou "loyer" ou "gestion de compte" etc

Il faut sans doute combiner la fonction CHERCHE mais je n'y arrive pas.
merci de vos réponses



Configuration: Windows / Firefox 84.0
A voir également:

4 réponses

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
18 janv. 2021 à 20:51
Bonsoir
voyez si ce modèle peut faire l'affaire et revenez si soucis
https://mon-partage.fr/f/3PQPqz1c/
crdlmnt
1
Pat92000 Messages postés 7 Date d'inscription mardi 5 avril 2016 Statut Membre Dernière intervention 19 février 2021
18 janv. 2021 à 23:15
Merci beaucoup c'est exactement ce que je voulais faire, mais le niveau de la formule dépassait largement ce que j'étais capable de fabriquer tout seul. Néanmoins je comprends l'organisation de la formule à l'exception de @INDEX . Pour augmenter mes connaissances pouvez vous m'en expliquer la signification notamment le @ devant .
Encore merci !
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
19 janv. 2021 à 08:15
Bonjour
?? il n'y a pas de @devant la formule, du moins pas dans mon modèle
la formule INDEX:
=INDEX(plage complète;n° de la ligne à ressortir dans la plage; N° de la colonne dans la plage)
Si la plage complète se réduit à une ligne ou une colonne, sel le >N° de ligne ou de colonne est utile,
exemples dans les trois cas

=INDEX(A:A;3) ressortira la valeur de A3
=INDEX(A1:X1;3) ressortira la valeur de C1
=INDEX(A:C;6;2) ressortira la valeur de B6

dans notre cas, SOMMEPROD va chercher en F le texte de NB.SI et ressort le N° de ligne de la feuille où il se trouve en G
attention:
  • dans la liste en F aucun texte ne doit "contenir" un des autres textes de cette liste sinon la formule fait le cumul

par exemple ne fonctionnera pas avec dans la liste en >F code (seul) et code 3
  • la formule ressort le N° de ligne de la feuille, pas celui de la plage, il est donc nécessaire que la plage INDEX ensuite commence en ligne 1 ou il faudra apporter une valeur de correction pour valoriser le n° de ligne


c'est à peu près tout ce que je peux en dire
espérant avoir été assez clair
si OK merci de passer en sujet en résolu
crdlmnt
0
ALS35 Messages postés 1033 Date d'inscription jeudi 18 juillet 2019 Statut Membre Dernière intervention 9 janvier 2024 139
19 janv. 2021 à 09:12
Bonjour à tous,

@ Vaucluse (salutations)
Concernant le @ qui apparait, il est probablement lié à l'utilisation de la version 365 (uniquement) et les formules matricielles dynamiques, mais je n'ai pas encore tout compris leurs explications.
https://support.microsoft.com/fr-fr/office/op%C3%A9rateur-d-intersection-implicite-ce3be07b-0101-4450-a24e-c1c999be2b34
https://support.microsoft.com/fr-fr/office/formules-de-tableau-dynamiques-et-formules-de-tableau-de-cse-h%C3%A9rit%C3%A9es-ca421f1b-fbb2-4c99-9924-df571bd4f1b4

Cordialement
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394 > ALS35 Messages postés 1033 Date d'inscription jeudi 18 juillet 2019 Statut Membre Dernière intervention 9 janvier 2024
19 janv. 2021 à 09:22
merci pour l'info
bonne journée
crdlmnt
0
Pat92000 Messages postés 7 Date d'inscription mardi 5 avril 2016 Statut Membre Dernière intervention 19 février 2021
19 févr. 2021 à 14:29
Merci Vaucluse de ces explications. En effet un @ s'est mis automatiquement devant INDEX quand j'ai importé votre formule.
J'ai laissé de coté ce travail et je le reprends maintenant persuadé d'avoir la solution tant elle est efficace sur votre exemple. J'ai scrupuleusement recopiée votre formule dans un bout d'essai de mon tableau ( en enlevant les @) et ....cela ne marche pas. Si je mets votre exemple en vis à vis du mien tout semble identique , je ne vois pas mon erreur. Merci encore de votre nouvelle aide. Comment puis je vous envoyer mon tableau d'essai
0
Pat92000 Messages postés 7 Date d'inscription mardi 5 avril 2016 Statut Membre Dernière intervention 19 février 2021
19 févr. 2021 à 19:08
voici le fichier d'essai que je n'arrive pas à faire fonctionner
https://mon-partage.fr/f/ICSJM9XH/
0
ALS35 Messages postés 1033 Date d'inscription jeudi 18 juillet 2019 Statut Membre Dernière intervention 9 janvier 2024 139 > Pat92000 Messages postés 7 Date d'inscription mardi 5 avril 2016 Statut Membre Dernière intervention 19 février 2021
22 févr. 2021 à 09:35
Bonjour,

Si ta demande est toujours d'actualité, remplace dans ta formule, salutations Vaucluse,
LIGNE($A$1:$A$4) par LIGNE($A$1:$A$8) ou plus logique par LIGNE($F$1:$F$8) et en remettant l'@ devant INDEX.

En modifiant légèrement cette formule, essaie aussi celle-ci qui te permettra de déplacer sans problème ta plage F1:G8 et d'avoir une valeur vide quand le texte n'est pas trouvé en colonne A.
=SIERREUR(INDEX($G$1:$G$8;EQUIV(1;NB.SI(A1;"*"&$F$1:$F$8&"*");0));"")

Formule matricielle à valider par Ctrl+Maj+Entrée, elle se met automatiquement entre accolades {}
où à valider simplement par entrée si tu as Excel 365, ce qui semble être ton cas.

Cordialement
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
19 janv. 2021 à 09:32
Bonjour Vaucluse

Chapeau pour ta formule!
je te mets un +1 bien mérité

a+
0