Comparer 1 chaine de caractere d'une cellule par rapport plage [Résolu/Fermé]

Signaler
Messages postés
14
Date d'inscription
jeudi 27 mars 2014
Statut
Membre
Dernière intervention
14 janvier 2016
-
Messages postés
14
Date d'inscription
jeudi 27 mars 2014
Statut
Membre
Dernière intervention
14 janvier 2016
-
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

22 réponses

Messages postés
17297
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
30 octobre 2020
4 373
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
Messages postés
14
Date d'inscription
jeudi 27 mars 2014
Statut
Membre
Dernière intervention
14 janvier 2016

IMPECCABLE ERIC
MERCI AUSSI MIKE POUR LE TEMPS PASSÉ
VOUS ETES TROP FORT