Formule RechercheX cherchant un seul mot dans un nom composé

Bonjour,

Je souhaite savoir s'il est possible de créer une formule RechercheX qui ira chercher un seul mot dans une plage de recherche où se trouvent des noms composés.

J'ai pris un exemple avec des villes dont je souhaite connaître automatiquement le département.

2026 07 24 173736

Si j'allais chercher le mot composé, en G2, la formule serait la suivante :
=RECHERCHEX(F2;A2:A6;B2:B6)

ou
=RECHERCHEX(F2;A:A;B:B)

Sauf que moi, je cherche une formule dans la colonne G qui utilise les colonnes A et B en tant que plages de source, mais dans laquelle on ira chercher un seul mot plutôt que le nom composé (ex : "Avesnes" plutôt que "Avesnes-sur-Helpe").

2026 07 24 174934

En gros, je souhaite que si Excel voit le mot "Avesnes" dans F2, il indique "Nord" en G2. La position du mot recherché diffère d'une nom de ville à l'autre : il est parfois en première position (ex : Avesnes, Nogent, Boulogne), parfois en dernière (ex : Ascq, Flots).

J'ai pensé à une formule avec le caractère * dans des guillemets (ex : "*Avesnes*"), mais je ne sais pas comment l'appliquer à l'entièreté de la colonne A.

Pensez-vous que cela soit possible ?

J'espère que c'est clair pour vous, et je vous remercie par avance pour votre aide.

Hello,

Solution un peu "capilo-tractée", mais qui fait la moisson...

=LET(a;FRACTIONNER.TEXTE(F2;{"-";" ";"'"});b;RECHERCHEX(a;A2:A6;B2:B6;"");JOINDRE.TEXTE("";VRAI;b))

Et sûrement améliorable...

Bonne fin d'apm, et bon W-E

PS, les délimiteurs pour la fonction "Fractionner.texte" sont à adapter, dans ton exemple, il y avait des tirets, des espaces et des apostrophes

Bonsoir à tous !

Une autre approche en G2 ?

=FILTRE($B$2:$B$6;ESTNUM(CHERCHE($A$2:$A$6;F2)))
image

Bonjour à tous,

=recherchex("*&a2&"*;f2:f5;g2:g5;"";2;1)

Crdlmt

Hello,

@DjiDji59430 ça me semblait trop simple, du coup je n'avais même pas tenté de répondre

une petite correction sur les guillemets

=RECHERCHEX("*"&A2&"*";F2:F6;B2:B6;"";2;1)

Bonjour et merci à tous les trois pour la rapidité à laquelle vous m'avez répondu.

@cousinhub : je n'arrive pas pas adapter ta formule, du fait des fameux délimiteurs dont tu parles.

@DjiDji59430 : j'ai une erreur quand je colle ta formule en G2. Ça marchait chez toi ?

@JFL : ça marche presque. En effet, si le nom composé de la ville contient deux mots de la plage de recherche, j'ai un #EPARS. Tu peux t'en rendre rendre avec l'exemple purement théorique d'Avesnes-sur-Ascq.

le fichier avec la formule de DjiDji corrigé

Bonjour à tous !

@JFL : ça marche presque. En effet, si le nom composé de la ville contient deux mots de la plage de recherche, j'ai un #EPARS. Tu peux t'en rendre rendre avec l'exemple purement théorique d'Avesnes-sur-Ascq.

Certes.... mais dans ce cas, quel mot est à privilégier ? Le premier ? le deuxième ? le troisième ?......

@Nain porte quoi : merci, ça a l'air de bien fonctionner. J'essaie en ce moment même d'adapter votre formule à mon futur fichier de travail, où la plage de recherche est dans un autre onglet, et pour l'instant, je galère un peu.

EDIT : finalement, je crois que cela ne fonctionne pas. D'après ce que je comprends, dans votre formule, la formule de la case G2 va exclusivement chercher la case A2, la formule de la case G3 va exclusivement chercher la case A3, etc... J'ai fait l'erreur de fournir un fichier test dans lequel les intitulés des colonnes A et F sont dans le même ordre. J'aurais dû changer l'ordre des villes de la colonne F.

@JFL : peu importe. La plage de recherche est ainsi faite qu'il n'y aura pas de valeurs qui se contredisent les unes les autres (ex : pas de Palavas-sur-Ascq ou Nogent sur Ascq). Tu peux donc privilégier le premier mot. Merci !

Bonjour à tous de nouveau !

@JFL : peu importe. La plage de recherche est ainsi faite qu'il n'y aura pas de valeurs qui se contredisent les unes les autres (ex : pas de Palavas-sur-Ascq ou Nogent sur Ascq). Tu peux donc privilégier le premier mot. Merci !

Je crains de ne pas vous suivre.....

Vous soulevez, et demandez une correction, pour une difficulté qui..... ne peut exister !

@JFL : je m'explique. Certains noms composés comporteront plusieurs mots de la colonne A. Mais la base de données dont je dispose fait qu'ils ne se contrediront jamais.

Prenons des exemples purement théoriques.

Avesnes => Nord
Ascq => Nord
Avesnes sur Ascq => Nord (actuellement, j'ai un #EPARS!)
Ascq sur Avesnes => Nord (actuellement, j'ai un #EPARS!)
Nogent => Oise

Mais je n'aurai JAMAIS de Nogent sur Avesnes dans ma base de données. Si ce cas s''était présenté, "Nogent" aurait renvoyé vers "Oise" et "Avesnes" vers "Nord". Ce cas ne se présentera jamais.

Si nous reprenons le cas d'Avesnes sur Ascq, peu m'importe donc que la formule aille chercher le premier mot ("Avesnes") ou le deuxième mot ("Ascq"), car aussi bien "Avesnes" que "Ascq" renvoient vers "Nord".

Donc pour répondre à votre question, autant privilégier le premier mot.
Merci pour le temps que vous me consacrez, c'est très gentil !

Bonjour à tous de nouveau !

Vos explications me sont toujours obscures....

Néanmoins je vous propose de tester la formule :

=INDEX(FILTRE($B$2:$B$6;ESTNUM(CHERCHE($A$2:$A$6;F2));"Aucune correspondance");1)

Une protection ("Aucune correspondance") a été intégrée.

quarachti : c'est vrai qu'avec cette chaleur, c'est fatigant de metrre un fichier representatif de ta demande !

Crdlmt

@JFL : formidable, ça marche. J'ai testé dans un fichier de 25000 lignes, et je n'ai aucune erreur.

Je vous joins le fichier test avec les villes dans le désordre et deux nouvelles villes fictives (contenant deux mots de la plage de critères), pour que vous puissiez constater que votre formule fonctionne bien dans tous les cas.

Un immense MERCI !

Rechercher des sujets similaires à "formule recherchex cherchant seul mot nom compose"