Extraction de phrases en fonction de mots clés

Bonjour à tous,

Je viens sur ce forum car j'ai besoin d'aide pour extraire des phrases sous certaines conditions.

Je m'explique, j'aimerais pouvoir extraire des phrases (exemple : "Le train à 20 minutes de retard c'est inadmissible...") en fonction de mots-clés (Confort, achat, retard, ligne...).

Chacune des phrases sont dans une cellule.

Il faudrait que la phrase soit ensuite coller dans un tableau possédant plusieurs colonnes correspondant à des thèmes précis (Sécurité à bord, personnel, ponctualité...). Dans cet exemple ce serait donc dans la colonne ponctualité que la phrase doit être collée.

J'upload le fichier Excel dès que je sais si j'ai l'autorisation pour le faire, en attendant j’espère avoir quelques éléments de réponse afin de m'aider dans ma tâche.

En espérant avoir été clair,

Merci d'avance pour vos réponses !

Bonjour,

bien sûr que tu peux déposer un fichier, c'est même conseillé.

Par contre j'imagine plus une série de colonne à droite de tes phrases, avec les mots clés en titre, et là une simple formule te mettra un x dans la colonne sur laquelle tu pourras filtrer au besoin.

eric.

Merci à toi d'avoir répondu aussi vite !

Du coup je suis partis sur ce que tu m'as conseillé soit :

Les mots clés sont placés à droite de ma colonne comportant les phrases à extraire, et chacun d'entre eux représente une colonne où un "X" peut être mis si le mot clé est retrouvé dans les phrases.

Cependant je ne vois pas quel formule (texte ==> ?) me permettrait d'obtenir des "X" à chaque fois que le mot est reconnu dans une phrase

Sachant que je suis censé appliquer la formule sur plusieurs phrases, donc que je ne connais pas l'emplacement des mots clés dans chacune des phrases.

Par contre ton idée me permettrai effectivement d'éviter d'avoir des doublons et de savoir à quel(s) mot(s) clé(s), la phrase fait référence ! Soit un problème en moins !

Je ne sais pas si j'ai le droit d'upload le fichier non pas par rapport au site... mais par rapport à ma hiérarchie. Sinon je l'aurais fais de suite

en B2 :

=SIERREUR(SI(CHERCHE(B$1;$A2);"x");"")

à tirer vers la droite puis vers le bas.

Pour le fichier il faut mettre des données bidons, ce qui compte c'est la structure et le type de données (date, texte, formule,...)

eric

62classeur2.xlsx (9.43 Ko)

Entre temps j'ai essayé comme ça :

=Si(NB.SI(B3;"*lemot*");"X";""

Je sais pas laquelle est mieux Pas besoin de VBA donc... c'est encore plus simple !

Merci beaucoup pour ton aide !

Bonjour tout le monde,

Suite aux réponses précédentes je peux désormais trier mes phrases par mot clé à l'aide d'un "X".

Cependant afin d'améliorer la lisibilité de mon tableau j'aimerais que le logiciel ne cherche pas un seul mot clé mais cherche un des mots clés dans une colonne de mot qui pourrait donc se regrouper en 1 seul item (Exemple : "confort").

Pour être plus clair :

L'item "Confort" regroupe dans une colonne les mots "température, siège, wifi, chaleur...".

Si il y a un de ces mots cités dans la phrase il faudrait que le logiciel cale un "X" en dessous de la case confort. Et après on sait à quoi fait référence le "confort".

Pour l'instant j'ai utilisé la formule conseillé par "eriiic" soit :

=SIERREUR(SI(CHERCHE(B$1;$A2);"x");"") 

En vous remerciant d'avance pour vos réponses,

bien cordialement.

Bonjour,

Voici !

C'est un exemple mais l'idée est la même !

60test.xlsx (11.04 Ko)

Tu dois avoir les mêmes champs en titre pour Feuil1 et Dictionnaire.

J'ai ajouté un champ pour Aucun mot clé

eric

71test.xlsm (20.55 Ko)

Merci pour ce que tu as fais !

Je vois qu'on tu es passé par le VBA, cependant je suis débutant et je ne comprend pas tout.

Cependant cela fonctionne sur mon fichier Excel donc c'est parfait !

Avant de mettre le sujet en résolu, sachez que j'essaie de comprendre le code et le lexique VBA.

J'ai ajouté en commentaire les déclarations de variables pour expliciter le code mais je n'arrive pas a expliquer grand chose d'autre. Est-ce possible d'avoir les détails des lignes afin que je comprenne son fonctionnement ?

Un grand merci d'avance

Oui, tu as juste à respecter ce que je t'ai indiqué.

Et adapter les emplacements s'ils changent.

Je m'excuse pour le double poste j'ai oublier d'envoyer le fichier !

44test-vba.xlsm (20.33 Ko)

Bonjour,

Option Explicit
Option Compare Text

Sub motCle()
'Déclaration des variables comme texte, aucun comme vrai ou faux'
    Dim phr, motCle() As String, dict, aucun As Boolean
    'Déclaration des variables comme nombre entier'
    Dim lig1 As Long, lig2 As Long, col2 As Long, i As Long
    ' charger le dictionnaire en mémoire
    dict = Sheets("Dictionnaire").[A1].CurrentRegion.Value
    ' charger les phrases en mémoire
    phr = [A6].Resize(Cells(Rows.Count, 1).End(xlUp).Row - 5).Value
    ' préparation du tableau résultats
    ReDim motCle(1 To UBound(phr), 1 To UBound(dict, 2))

    For lig1 = 1 To UBound(phr)
        ' pour chaque phrase
        aucun = True
        For col2 = 2 To UBound(dict, 2)
            ' pour chaque rubrique
            For lig2 = 1 To UBound(dict, 1)
                If dict(lig2, col2) = "" Then
                    ' plus de mots dans cette rubrique
                    Exit For
                ElseIf InStr(phr(lig1, 1), dict(lig2, col2)) > 0 Then
                    ' si le mot a été détecté
                    motCle(lig1, col2) = "X" ' cocher la rubrique concernée
                    aucun = False
                    Exit For ' et inutile de continuer pour cette rubrique
                End If
            Next lig2
        Next col2
        If aucun Then motCle(lig1, 1) = "X"
    Next lig1
    ' coller résultat
    [B6].Resize(UBound(motCle, 1), UBound(motCle, 2)) = motCle
End Sub

Merci beaucoup, j'apprécie comprendre donc je vais continuer à essayer !

Résolu

Rechercher des sujets similaires à "extraction phrases fonction mots cles"