Bonjour,
Mon objectif est de compter le nombre de mots dans une feuille Ecel.
Seulement, j'ai beaucoup de mots qui se répètent. Donc, je cherche à programmer une procédure qui permet de trouver le nombre de mots répéter plus de 10 fois dans une feuille excel ou à ne compter que les mots différents.
Dans chaque case de la feuille, il y a une phrase comme la photo en P.J..
J'ai déjà créé un fonction permettant de compter le nombre de mots de ce fichier, je pense que si j'arrive à stocker chaque mots et que je compare le nouveau mot avec tous les anciens, ça devrait marcher.
Quel est le moyen le plus simple pour stocker des milliers de mots et les comparer (avec ma fonction de comptage de mots, j'en ai plus de 33 000) ?
Merci.
Thordek
PS : mon code pour compter les mots.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 Public Function repl2(cellules As Range) As String Dim c As Range Dim t Dim resultat, resultatf Dim i As Byte Dim nombre As Double For Each c In cellules t = RTrim(c) t = Replace(t, "{", "") t = Replace(t, "}", "") t = Replace(t, "%", "") t = Replace(t, " ", "alphaxx") resultat = t For i = 1 To Len(resultat) If IsNumeric(Mid(resultat, i, 1)) Then nombre = val(Mid(resultat, i, Len(resultat) - i + 1)) ' enlève les nombres resultat = Replace(resultat, CStr(nombre), "") i = i + Len(Str(nombre)) - 1 End If Next resultatf = Replace(resultat, "alphaxx", " ") Next c repl2 = resultatf End Function
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Function Nbmotstot(plage As Range) Dim c As Range, chaine As String, Tablo Application.Volatile For Each c In plage Tablo = repl2(c) Tablo = Split(Tablo, " ") For Each Item In Tablo If Item <> "" Then Nbmotstot = Nbmotstot + 1 End If Next Item Next c End Function
Partager