Microsoft 365 afficher 10 mots avant et après un mot clé

  • Initiateur de la discussion Initiateur de la discussion yvann1318
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

yvann1318

XLDnaute Nouveau
Bonjour a tous,

J'ai une phrase dans une case, le but est de repérer le mot clé et d'afficher dans la case a coté 10 mots avant et après le mot clé et je suis vraiment bloqué, si quelqu'un a une solution merci.
 
Bonjour
@yvann1318 : c'est à toi de fournir un fichier exemple
ensuite, tu fais une recherche google sur les mots "Split" et "match" en vba excel
si pas de VBA, fais une recherche sur les fonctions excel: trouve, gauche, droite, sierreur...

comme tu peux le sentir, selon la structure de ton fichier, les solutions sont variées...
 
Bonjour
@yvann1318 : c'est à toi de fournir un fichier exemple
ensuite, tu fais une recherche google sur les mots "Split" et "match" en vba excel
si pas de VBA, fais une recherche sur les fonctions excel: trouve, gauche, droite, sierreur...

comme tu peux le sentir, selon la structure de ton fichier, les solutions sont variées.
Voici ma phrase dans l'image j'ai réussi a avoir le début du texte jusqu'au mot clé qui est "sprinklé" et j'ai réussi a avoir 10 mots avant le mot clé mais mes formule sont vraiment pas belle :

Pour la colonne F:

=SI(ESTERREUR(TROUVE("sprinklé"; E2)); ""; SI(ESTNUM(TROUVE(" "; GAUCHE(E2; TROUVE("sprinklé"; E2) - 1))); GAUCHE(E2; TROUVE("sprinklé"; E2) - 1); "") & " " & "sprinklé")

Pour la colonne I :

=TEXTE.APRES(F2;" ";-10)
 

Pièces jointes

  • Capture d'écran 2023-08-17 105100.png
    Capture d'écran 2023-08-17 105100.png
    39.7 KB · Affichages: 12
Bonjour à @yvann1318, bienvenue sur XLD 🙂 ,
Bonjour @patricktoulon 😉, @vgendron 😉,

Quand on demande un exemple, cela signifie un classeur Excel anonymisé et non pas une image 😉.

Comme vous êtes nouveau sur le forum, j'ai fait un petit classeur que j'ai joint à ce message.

En cellule B1, une formule (valable uniquement avec O365) pour les 10 mots avant le mot clef :
VB:
=EPURAGE(JOINDRE.TEXTE(" ";;PRENDRE(FRACTIONNER.TEXTE(SUPPRESPACE(GAUCHE(A1;CHERCHE("sprinklé";A1)-1));" ");1;-10)))

En cellule C1, une formule (valable uniquement avec O365) pour les 10 mots après le mot clef :
VB:
=EPURAGE(JOINDRE.TEXTE(" ";;PRENDRE(FRACTIONNER.TEXTE(SUPPRESPACE(GAUCHE(A1;CHERCHE("sprinklé";A1)-1));" ");1;-10)))

nota : dans les formules, le mot clef est "sprinklé".

edit : version v1a plus précise.
 

Pièces jointes

Dernière édition:
Bonjour a tous,

J'ai une phrase dans une case, le but est de repérer le mot clé et d'afficher dans la case a coté 10 mots avant et après le mot clé et je suis vraiment bloqué, si quelqu'un a une solution merci.
Bonsoir
Il semble que vous souhaitiez extraire un contexte de mots autour d'un mot clé spécifique dans une phrase, en affichant les 10 mots précédant et suivant le mot clé.
Exemple :
Supposons que votre phrase soit dans la cellule A1 et que le mot clé que vous cherchez soit dans la cellule B1. Vous pouvez utiliser les fonctions SPLIT, IF, INDEX et CONCATENER (ou CONCAT) pour obtenir le résultat souhaité.
Voici une formule que vous pourriez utiliser dans la cellule C1 pour afficher les 10 mots avant et après le mot clé :
=CONCAT(IF(ISNUMBER(SEARCH(B1, SPLIT(A1, " "))),
INDEX(SPLIT(A1, " "), MAX(1, MATCH(B1, SPLIT(A1, " "), 0) - 10)) & " ", "")) &
B1 & " " &
CONCAT(IF(ISNUMBER(SEARCH(B1, SPLIT(A1, " "))),
INDEX(SPLIT(A1, " "), MIN(COUNTA(SPLIT(A1, " ")), MATCH(B1, SPLIT(A1, " "), 0) + 10)) & " ", ""))
A+
 
Bonjour @chaelie2015 🙂,

=CONCAT(IF(ISNUMBER(SEARCH(B1, SPLIT(A1, " "))),
INDEX(SPLIT(A1, " "), MAX(1, MATCH(B1, SPLIT(A1, " "), 0) - 10)) & " ", "")) &
B1 & " " &
CONCAT(IF(ISNUMBER(SEARCH(B1, SPLIT(A1, " "))),
INDEX(SPLIT(A1, " "), MIN(COUNTA(SPLIT(A1, " ")), MATCH(B1, SPLIT(A1, " "), 0) + 10)) & " ", ""))

Il me semblait qu'XLD était un forum de langue française, non 😵?
Pourquoi donc présenter des formules en grand-breton ?
 
Re
comme promis😱
=CONCATENER(SI(ESTNUM(TROUVE(B1; DÉCOUPER(A1; " "))),
INDEX(DÉCOUPER(A1; " "); MAX(1; EQUIV(B1; DÉCOUPER(A1; " "); 0) - 10)) & " ", "")) &
B1 & " " &
CONCATENER(SI(ESTNUM(TROUVE(B1; DÉCOUPER(A1; " "))),
INDEX(DÉCOUPER(A1; " "); MIN(NBVAL(DÉCOUPER(A1; " ")); EQUIV(B1; DÉCOUPER(A1; " "); 0) + 10)) & " ", ""))
 
Connais pas cette fonction 🙁 !
Je ne pense pas qu'un nom français de fonction contienne des lettres accentuées. Ou bien alors ça vient de sortir...
Re
Je m'excuse pour la confusion. La fonction "DECOUPER" que j'ai mentionnée n'existe pas dans Excel vous avez raison. J'ai fait une erreur dans la traduction. La fonction équivalente à la fonction "SPLIT" en français serait "DÉCOUPER". Cependant, il n'y a pas de fonction "DÉCOUPER" dans Excel.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
19
Affichages
475
Réponses
12
Affichages
288
Réponses
18
Affichages
900
Retour