Comparer 1 chaine de caractere d'une cellule par rapport plage

Résolu/Fermé
joaline62 Messages postés 14 Date d'inscription jeudi 27 mars 2014 Statut Membre Dernière intervention 14 janvier 2016 - 27 mars 2014 à 09:25
joaline62 Messages postés 14 Date d'inscription jeudi 27 mars 2014 Statut Membre Dernière intervention 14 janvier 2016 - 27 mars 2014 à 13:57
Bonjour,
je voudrais comparer une chaine de caractere trouvé dans une cellule (B1)par rapport à une plage (A1:A10) et renvoyer la valeur dans la cellule (C1) si ce mot est retrouvé
Exemple:

COLONNEA | COLONNEB | COLONNEC
1 ARDITI | Me truc | <CASE VIDE>
2 GIRARDOT | mme dere |<CASE VIDE>
3 FUNES | Mme bardot |<CASE VIDE>
4 POLO | Mr DArditi | ARDITI
5 JACQUES | anne arditi | ARDITI
6 <CASE VIDE>| sophie bardot |<CASE VIDE>
7<CASE VIDE>| Melle chapeau |<CASE VIDE>
8<CASE VIDE>| Mrs GIRARDOT | GIRARDOT
9<CASE VIDE>| truc |<CASE VIDE>
10<CASE VIDE>| Girardot | GIRARDOT
11<CASE VIDE>| Me trac |<CASE VIDE>
12<CASE VIDE>| Louis de Funes | FUNES
13<CASE VIDE>| Jacques chancel | JACQUES
14<CASE VIDE>| Girardot jacques | JACQUES
15<CASE VIDE>| sophie jacques | JACQUES

J'ai ca
=(SOMME(ESTNUM(CHERCHE(SI($A$1:$A$10<>"";$A$1:$A$10);B1))*LIGNE($A$1:$A$10))>0)*1
ca marche mais ca me renvoie un 1 ou un 0 en colonne c actuellement.
je voudrais plutot la "valeur" en colonne c. et si possible plutôt une formule que un code vba.
merci d'avance
Auriez vous une idée
A voir également:

22 réponses

Mike-31 Messages postés 18346 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 13 novembre 2024 5 104
27 mars 2014 à 09:51
Bonjour,

Cette formule ne convient pas, et c'est normal qu'elle te retourne 0 ou 1, oublie la et explique exactement ce que tu veux faire
0
joaline62 Messages postés 14 Date d'inscription jeudi 27 mars 2014 Statut Membre Dernière intervention 14 janvier 2016
27 mars 2014 à 10:12
en fait c'est la fonction recherchev ni plus ni moins ou la "valeur_recherchée" serait une chaine de caractere contenu dans une cellule et pas la cellule elle meme
Exple:je veux trouver "Art 512" dans une cellule qui contient

"Article:R.4226-5-R.4226-7 Norme:C 15-100 Art 512-522"

le texte recherché n'etant pas toujours placé au meme endroit

la fonction recherchev ferait le reste ensuite
0
Mike-31 Messages postés 18346 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 13 novembre 2024 5 104
27 mars 2014 à 10:33
Re,

toujours pas très clair, mais d'après ce que je comprends, cette formule recherche dans la chaine en A2 la valeur Art 512 qui peut être directement saisie dans la formule à la place "&E2&" comme cela "*Art 512*" ou placée dans une cellule exemple en E2

=SI(NB.SI(A2;"*"&E2&"*")=1;A2;"")
cette formule renvoie la chaine si la valeur est trouvée dans la chaine

pour l'exploiter avec une RECHERCHEV comme je crois comprendre

reste à savoir si la recherche doit se faire à partir de la chaine ou à partir de la valeur trouvée dans la chaine
0
joaline62 Messages postés 14 Date d'inscription jeudi 27 mars 2014 Statut Membre Dernière intervention 14 janvier 2016
27 mars 2014 à 10:46
il ne me faudrait plutot la valeur de E2 retrouvée dans la chaine et pas la chaine elle meme
mais pour le reste c'est ca
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
joaline62 Messages postés 14 Date d'inscription jeudi 27 mars 2014 Statut Membre Dernière intervention 14 janvier 2016
Modifié par joaline62 le 27/03/2014 à 10:50
je teste c'est peu etre ca
0
Mike-31 Messages postés 18346 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 13 novembre 2024 5 104
27 mars 2014 à 10:49
Re,

Comme cela ?

=SI(NB.SI(A2;"*"&E2&"*")=1;E2;"")
0
joaline62 Messages postés 14 Date d'inscription jeudi 27 mars 2014 Statut Membre Dernière intervention 14 janvier 2016
27 mars 2014 à 11:09
il ne faudrait pas seulement E2 mais genre une base de E2:E10
0
Mike-31 Messages postés 18346 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 13 novembre 2024 5 104
27 mars 2014 à 11:27
Re,

que veux tu dire par "pas seulement E2 mais genre une base de E2:E10"

tu veux l'adresse de la ou des cellules qui contient la valeur cible, c'est cela ?
0
joaline62 Messages postés 14 Date d'inscription jeudi 27 mars 2014 Statut Membre Dernière intervention 14 janvier 2016
27 mars 2014 à 11:51
Pour essayer de faire simple dans l'explication:

1-Ma chaine de caractère en "A2":
"Article:R.4226-5-R.4226-7 Norme:C 15-100 Art 512-522"

2-Une matrice en E2:E10 contenant des "mots clés" par ex:
E2: Art 501
E3: Art501
E4: ELE13/
E5: Art 512
E6: etc

3-Si la formule trouve en "A2" et en "E2:E10" (ici en "E5") la même valeur
("Art 512" ici), la formule renvoi la valeur "Art 512"
0
Mike-31 Messages postés 18346 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 13 novembre 2024 5 104
27 mars 2014 à 12:01
Re,
Ce n'est pas possible ou tu as fait une erreur dans tes explications, si en A2 tu as Article:R.4226-5-R.4226-7 Norme:C 15-100 Art 512-522, il est impossible d'avoir ta formule dans la même cellule A2 qui te renvoie Art 512

0
joaline62 Messages postés 14 Date d'inscription jeudi 27 mars 2014 Statut Membre Dernière intervention 14 janvier 2016
27 mars 2014 à 12:07
Oui je me suis mal exprimé: ma formule serait en "B2" par exple:

Ce que je veux dire c'est dans la chaine situé en "A2".
0
Mike-31 Messages postés 18346 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 13 novembre 2024 5 104
27 mars 2014 à 12:20
Re,

alors je crois commencer à comprendre, tu as en E2:E10 une liste de références et colonne A tes chaines qui peuvent contenir une des référence définie dans ta plage E2:E10, et en colonne B tu veux extraire la référence cible rencontrée.

C'est cela
0
joaline62 Messages postés 14 Date d'inscription jeudi 27 mars 2014 Statut Membre Dernière intervention 14 janvier 2016
27 mars 2014 à 12:24
excellent tu as résumé simplement ce que je n'arrive pas à exprimer! :-)
je cherche et impossible de trouver sur des forums..
0
Mike-31 Messages postés 18346 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 13 novembre 2024 5 104
27 mars 2014 à 12:39
Re,

alors imbrication de formule basique =SI(NB.SI(A2;"*"&E2&"*")=1;E2;"") ce qui donne une imbrication quelque peu usine à gaz du genre

=SI(NB.SI(A2;"*"&$E$2&"*")=1;$E$2;SI(NB.SI(A2;"*"&$E$3&"*")=1;$E$3;SI(NB.SI(A2;"*"&$E$4&"*")=1;$E$4;SI(NB.SI(A2;"*"&$E$5&"*")=1;$E$5;SI(NB.SI(A2;"*"&$E$6&"*")=1;$E$6;"")))))

tu peux imbriquer jusqu'à 7 conditionnelles et tu relances une cascade avec &
si tu as 10 références équilibre la formule avec 5 conditionnelles et tu relances

=SI(NB.SI(A2;"*"&$E$2&"*")=1;$E$2;SI(NB.SI(A2;"*"&$E$3&"*")=1;$E$3;SI(NB.SI(A2;"*"&$E$4&"*")=1;$E$4;SI(NB.SI(A2;"*"&$E$5&"*")=1;$E$5;SI(NB.SI(A2;"*"&$E$6&"*")=1;$E$6;"")))))&SI(NB.SI(A2;"*"&$E$7&"*")=1;$E$7;SI(NB.SI(A2;"*"&$E$8&"*")=1;$E$8;SI(NB.SI(A2;"*"&$E$9&"*")=1;$E$9;SI(NB.SI(A2;"*"&$E$10&"*")=1;$E$10;SI(NB.SI(A2;"*"&$E$11&"*")=1;$E$11;"")))))

je regarde s'il est possible de faire plus court
0
joaline62 Messages postés 14 Date d'inscription jeudi 27 mars 2014 Statut Membre Dernière intervention 14 janvier 2016
27 mars 2014 à 12:46
ok merci surtout que ma plage est d'une 60ène de lignes de références
c'est très sympa
0
Mike-31 Messages postés 18346 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 13 novembre 2024 5 104
27 mars 2014 à 12:52
Re,

60 références ça va être chaud sans VBA, je regarde mais en attendant teste ma formule sur 10 références en E2:E11
0
joaline62 Messages postés 14 Date d'inscription jeudi 27 mars 2014 Statut Membre Dernière intervention 14 janvier 2016
27 mars 2014 à 13:03
ca marche impec
c'est exactement ca
je voulais être sur qu'on ne puisse le faire
cependant mes 60 références je pourrai peut être regrouper plusieurs dans une meme cellule séparée par un ";" par exemple. Pour moi ca ne serait pas génant.
mais ton truc marche en effet
0
Mike-31 Messages postés 18346 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 13 novembre 2024 5 104
27 mars 2014 à 13:07
Re,

Bon je regarde comment avec formule mais je pense qu'il faudra passer en VBA
0
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 240
27 mars 2014 à 13:18
Bonjour à tous,

une idée par formule : https://www.cjoint.com/?DCBnr2QO6v9

eric
0
joaline62 Messages postés 14 Date d'inscription jeudi 27 mars 2014 Statut Membre Dernière intervention 14 janvier 2016
27 mars 2014 à 13:29
je teste ...
0