recherche d'un mot dans une phrase

chambinette

XLDnaute Nouveau
Bonjour,
J'ai un 1 er onglet avec dans la colonne B des bouts de phase
Dans le 2 ème onglet j'ai an colonne B des mots (1 par ligne)
En colonne A un code : chaque mot a un code.
Je souhaiterai trouver une fonction qui me ramène dans la colonne A du 1 er onglet le code qui sera trouvé dans l'onglet 2 avec la correspondance du mot.
Exemple : j'ai dans B2 de l'onglet 1 : "on vient ce soir"
Dans l'onglet 2 j'ai en B5 le mot "soir" et en A5 le code 15.
Je souhaite que dans la case A2, le code 15 soit ramené.
Dans le cas ou il n'y a pas de correspondance trouvé, ne rien ramener.
Merci par avance pour votre aide
 

david84

XLDnaute Barbatruc
Re : recherche d'un mot dans une phrase

Re
Selon les exemples fournis dans ton fichier, formule à entrer en A2 et à tirer vers le bas :
Code:
=EQUIV(VRAI;ESTNUM(CHERCHE(concordances!B$2:B$6;B2));0)
Validation de la formule en matriciel (Ctrl,Maj et entrée).
A+
 

Dormeur74

XLDnaute Occasionnel
Re : recherche d'un mot dans une phrase

Bonsoir tout le monde.
Si plusieurs occurrences, on peut prendre la 1ère ou la dernière.
Mais il y a pire : lorsqu'il y a deux mots référencés dans la même phrase. Là encore choix de la règle.
 

Dormeur74

XLDnaute Occasionnel
Re : recherche d'un mot dans une phrase

Cependant, je souhaiterai que cette macro soit sous forme de fonction.

Attention : le mot "fonction" a toujours été très ambigu sous Excel.

A-Le mot EQUIV proposée par par david84 dans sa formule est classé dans les fonctions de recherche et de référencement du tableur.

B-Lorsqu'on parle de macro, une fonction est un groupe d'instructions de la forme :
Code:
Function nomFonction (paramètres [en entrée]...) As Type [en sortie]
       nomFonction = bla...bla...bla...
End Function

Parles-tu de formule contenant des fonctions (A) ou de macro contenant une fonction (B) ?
 

chambinette

XLDnaute Nouveau
Re : recherche d'un mot dans une phrase

je souhaite que cette macro s'exécute comme une fonction (comme si s'était recherchev )

merci encore de votre aide, je suis plus que novice dans ce genre de procédure ( j'ai d'ailleurs demandé à mon employeur une formation de base à ce sujet, mais hélas, ce n'est pas la priorité dans les formations ...)
 

Dormeur74

XLDnaute Occasionnel
Re : recherche d'un mot dans une phrase

Alors la formule qui t'a été donnée par david84 marche parfaitement. Si tu l'entres dans la cellule A2 de ton classeur et que tu tiennes les touches Ctrl et Maj enfoncées en même temps, il suffira de presser la touche Entrée et de tout relacher pour voir s'afficher 1 en A2. Si tu recopies cette formule jusqu'en A6, tu auras ce que tu cherches.
 

job75

XLDnaute Barbatruc
Re : recherche d'un mot dans une phrase

Bonjour à tous,

Alors la formule qui t'a été donnée par david84 marche parfaitement.

Non car la formule de David avec CHERCHE ne respecte pas la casse.

Pour "il était une fois..." c'est il qui est trouvé.

Il faut utiliser la fonction TROUVE.

Mais puisque chambinette veut une fonction VBA :

Code:
Function RECHCODE(txt As String, tablo As Variant)
'la casse est respectée
Dim i As Long
tablo = tablo 'matrice, plus rapide
RECHCODE = ""
For i = 1 To UBound(tablo)
  If InStr(txt, tablo(i, 2)) Then _
    RECHCODE = tablo(i, 1): Exit Function
Next
End Function
Fichier joint.

A+
 

Pièces jointes

  • Recherche(1).xls
    60.5 KB · Affichages: 61
  • Recherche(1).xls
    60.5 KB · Affichages: 65
  • Recherche(1).xls
    60.5 KB · Affichages: 69
Dernière édition:

job75

XLDnaute Barbatruc
Re : recherche d'un mot dans une phrase

Re,

Sans VBA, formule matricielle en A2, à tirer vers le bas :

Code:
=SI(ESTNUM(EQUIV(VRAI;ESTNUM(TROUVE(INDEX(Liste;;2);B2));0));INDEX(Liste;EQUIV(VRAI;ESTNUM(TROUVE(INDEX(Liste;;2);B2));0);1);"")
Fichier joint.

A+
 

Pièces jointes

  • Recherche par formule(1).xls
    57 KB · Affichages: 61
  • Recherche par formule(1).xls
    57 KB · Affichages: 70
  • Recherche par formule(1).xls
    57 KB · Affichages: 70

Fo_rum

XLDnaute Accro
Re : recherche d'un mot dans une phrase

Bonjour,

je trouve que le problème (général) est bien plus complexe qu'il n'y parait.
Job :D a soulevé le cas de la casse mais comment faire quand, par exemple, elle et belle sont codés avec la phrase "elle est belle donc aguichante !" ? On prend elle ou belle ?
Voir le fichier joint pour d'autres écueils.
 

Pièces jointes

  • MotsEtMaux.xls
    50 KB · Affichages: 68

Discussions similaires

Réponses
2
Affichages
182
  • Question
Microsoft 365 TEXTBOX
Réponses
7
Affichages
377

Statistiques des forums

Discussions
312 485
Messages
2 088 802
Membres
103 971
dernier inscrit
abdazee