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 18310 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 29 mars 2024 5 073
27 mars 2014 à 13:50
Salut Eriiic,

70 références cela doit alimenter je pense plusieurs centaines de ligne colonne A et en matricielle je crains que cela coince ou ralenti le fonctionnement.

toujours en formule j'ai pensé écrire ma formule basique exemple en B2

=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;"")))))))

alors que B2 est activée on crée un champ dans le gestionnaire des noms que l'on nomme exemple Cond_1 ,dans la quelle on colle la formule

ensuite on modifie la formule en B2 pour poursuivre la suite conditionnelle

=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;SI(NB.SI(A2;"*"&$E$12&"*")=1;$E$12;SI(NB.SI(A2;"*"&$E$13&"*")=1;$E$13;SI(NB.SI(A2;"*"&$E$147&"*")=1;$E$14;SI(NB.SI(A2;"*"&$E$15&"*")=1;$E$15;"")))))))
et on crée un nouveau champ exemple Cond_2 avec cette formule etc pour la suite des références ce qui va donner une dizaine de champs

et pour finir en B2 il suffit d'écrire =Col_1&Col_2&Col_3&Col_4 etc ... et incrémenter la formule vers le bas
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:57
IMPECCABLE ERIC
MERCI AUSSI MIKE POUR LE TEMPS PASSÉ
VOUS ETES TROP FORT
0