Recherche de plusieurs mots clés dans une cellule

Bonjour,

n'ayant pas trouvé de demandes similaires pouvant répondre à mon besoin, je me permets de vous solliciter.

Je souhaite retrouver plusieurs mots clé définis par un userform dans un ensemble de cellules et les comptabiliser.

Par exemple, rechercher deux mots clés dans la cellule A4 et indiquer en A5 combien de fois les mots clés sont représentés.

Aussi, il est important que la recherche des mots clés puisse se faire indépendamment de l'ordre dans lequel ils ont été donnés.

Etant débutant, je ne sais pas comment m'y prendre ni par ou commencer.

Auriez-vous, par hasard, une idée pour m'aider?

Je joins un fichier excel avec pour faciliter la compréhension de ma demande si celle ci n'est pas assez claire.

En vous remerciant par avance.

32exemple.xlsm (20.34 Ko)

Bonjour,

J'ai traité un sujet similaire cette année, la personne voulait savoir quels mots étaient les plus utilisés dans la section commentaire de son fichier, j'avais bricolé une macro qui sortait tous les mots qui avaient utilisés et le nombre de fois où ils apparaissaient, je te laisse y jetter un oeil, ça pourra sûrement t'aider

https://forum.excel-pratique.com/viewtopic.php?f=2&t=110793&hilit=mot&start=10

Bonjour,

Merci pour le retour, malheureusement, je ne comprends pas tout le code et le résultat est loin de ce que je souhaite.

Mon but est de compter des mots précis dans les cellules individuellement.

De ce que je comprends de ta macro, tu comptes tous les mots sans exception de la feuille. Or j'ai besoin d'isoler des mots précis pour chaque cellules individuellement.

Mais merci beaucoup pour ton retour.

Bonjour,

Dans ce cas, une fonction personnalisée qui devrait répondre à ton besoin :

Function CompteMots(plage As Range, methode As Integer, ParamArray mots())
Application.Volatile

'Déclaration de variables
Dim cel As Range
Dim tableau As Variant
compteur = 0
texte = ""

'Passage des mots recherchés dans un tableau à deux dimensions
ReDim tableau(LBound(mots, 1) To UBound(mots, 1), 1 To 2)
For i = LBound(mots, 1) To UBound(mots, 1)
    tableau(i, 1) = mots(i)
    tableau(i, 2) = 0
Next i

'Boucle pour chercher tous les mots
For i = LBound(tableau, 1) To UBound(tableau, 1)
    'Boucle pour chercher dans toutes les cellules d'une plage
    For Each cel In plage.Cells
        debut = 1
        'Recherche du mot et comptage
        While InStr(debut, cel, tableau(i, 1)) <> 0
            debut = InStr(debut, cel, tableau(i, 1)) + 1
            tableau(i, 2) = tableau(i, 2) + 1
        Wend
    Next cel 'cellule suivante

    'Exctraction de la valeur suivant la methode choisie
    If methode = 1 Then
        texte = texte & tableau(i, 1) & " - " & tableau(i, 2) & Chr(10)
    ElseIf methode = 2 Then
        compteur = compteur + tableau(i, 2)
    End If
Next i

'Retour de la valeur suivant la methode choisie
If methode = 1 Then
    CompteMots = Left(texte, Len(texte) - 1)
ElseIf methode = 2 Then
    CompteMots = compteur
End If
End Function

Tu as 3 infos à lui donner :

La plage de cellules sur lequelles tu veux compter les mots, dans ton cas ce sera cellule par cellule, attention toutefois à ne pas lui donner plusieurs plages.

La methode de retour : 1 si tu veux ton tableau, 2 si tu veux juste le nombre d'occurences tout mots confondus, si tu donnes autres chose, ça te retourne #VALEUR!

Les mots cherchés : Tu lui donnes tous les mots que tu cherches et il te retournera ce que tu veux.

Voici le fichier avec la fonction, tu peux rajouter des mots, les changer...

Rechercher des sujets similaires à "recherche mots cles"