Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

calcul du nombre de chaque mot d'un texte

51 réponses
Avatar
eric.zzzz
Bonjour,
Comment calculer le nombre de chaque mot d'un texte (en word ou en pdf que =
je pourrais copier dans excel si n=E9cessaire)
Merci d'avance

10 réponses

1 2 3 4 5
Avatar
DanielCo
Bonjour,

Oui... le nombre de quoi ? est-ce que tu peux donner un exemple ?

Cordialement.
Daniel


Bonjour,
Comment calculer le nombre de chaque mot d'un texte (en word ou en pdf que je
pourrais copier dans excel si nécessaire) Merci d'avance
Avatar
MichD
Bonjour,

Si tu es dans Word, tu peux utiliser ceci dans une macro :
MsgBox ActiveDocument.ComputeStatistics(Statistic:=wdStatisticWords, _
IncludeFootnotesAndEndnotes:=True) & " words"

Si tu es dans Excel et que tu veux déterminer le nombre de mots dans une
plage de cellules, tu peux le faire par formule. Regarde à cette adresse :

http://office.microsoft.com/en-ca/excel-help/count-the-number-of-words-in-a-cell-or-range-HA001034625.aspx


MichD
---------------------------------------------------------------
Avatar
zzzz
Je vais être plus précis, il ne s'agit pas de compter le nombre de mots d'un texte, mais le nombre de chaque mot : le 1er mot apparaît X fois, l e second Y fois, le 3me Z fois , etc... et cela pour tous les mots du texte .
Est-ce possible ?
merci
Avatar
moi
J'ai mis mon texte dans la colonne A sur 12000 lignes
NB : ce n'est pas à but professionnel, c'est juste ludique. En même tem ps je cherche sur quelques macros que j'ai
Avatar
GL
Le 24/06/2013 10:06, zzzz a écrit :
Je vais être plus précis, il ne s'agit pas de compter le nombre de mots d'un texte, mais le nombre de chaque mot : le 1er mot apparaît X fois, le second Y fois, le 3me Z fois , etc... et cela pour tous les mots du texte.
Est-ce possible ?
merci




Le problème, ça va être d'extraire la liste des mots.
Vous pouvez utiliser une regex, quelque chose du type : "S+"
(mais il faut aussi gérer les signes de ponctuation).

Une fois la liste de tous les mots extraites, le calcul
des fréquences ne pose pas de problème particulier
(le tri peut se faire dynamiquement à coup d'EQUIV + PETITE.VALEUR,
le calcul des fréquences se fait avec NB.SI...)

Cdt.
Avatar
DanielCo
Les données sont en colonne A sur sheets(1), les résultats sur
sheets(2).
Sub Compte()
Dim Tabl, Item, Txt As String, C As Range, Ligne As Long, Ctr, Dico
As Object
Dim Result() As Long
ReDim Result(0)
Ctr = -1
Tabl = Array("'", "(", ")", ".", ";") 'etc.
For Each Item In Tabl
[A:A].Replace Item, " "
Next Item
With Sheets(1)
For Each C In .Range("A1", .Cells(.Rows.Count, 1).End(xlUp))
Txt = Txt & " " & C.Value
Next C
Txt = Right(Txt, Len(Txt) - 1)
Tabl = Split(Txt, " ")
Set Dico = CreateObject("Scripting.Dictionary")
For Each Item In Tabl
If Item <> "" Then
If Not Dico.exists(Item) Then
Dico.Add Item, Item
Ctr = Ctr + 1
ReDim Preserve Result(Ctr)
Result(Ctr) = Result(Ctr) + 1
Else
pos = Application.Match(Item, Dico.items, 0)
Result(pos - 1) = Result(pos - 1) + 1
End If
End If
Next Item
End With
With Sheets(2)
For i = 0 To Dico.Count - 1
Ligne = Ligne + 1
Var = Dico.items
.Cells(Ligne, 1) = Var(i)
.Cells(Ligne, 2) = Result(i)
Next i
End With
End Sub

Daniel


J'ai mis mon texte dans la colonne A sur 12000 lignes
NB : ce n'est pas à but professionnel, c'est juste ludique. En même temps je
cherche sur quelques macros que j'ai
Avatar
moi
Tabl = Array("'", "(", ")", ".", ";") 'etc.

Ici tu proposes de saisir des mots en dur, le problème c'est que je veux le nombre de chaque mot du texte, c'est à dire tous les mots du texte...
Avatar
moi
Réponse à GL
Je ne sais pas ce qu'est un regex, je vais chercher
Avatar
DanielCo
Non, ce qui montre de surcroît que tu n'as pas testé la macro. Il
s'agit de remplacer ces caractères afin de ne pas compter à part "nom,"
et "nom".
Daniel


Tabl = Array("'", "(", ")", ".", ";") 'etc.

Ici tu proposes de saisir des mots en dur, le problème c'est que je veux le
nombre de chaque mot du texte, c'est à dire tous les mots du texte...
Avatar
moi
Le lundi 24 juin 2013 12:18:14 UTC+2, DanielCo a écrit :
Non, ce qui montre de surcroît que tu n'as pas testé la macro. Il

s'agit de remplacer ces caractères afin de ne pas compter à part "nom ,"

et "nom".

Daniel



exact, autant pour moi, j'ai voulu analyser le code avant de le tester; je vais essayer et je reviens
1 2 3 4 5