Quelqu'un aurait-il une macro simple pour compter le nb de lettres de chaque
mot d'un document (idéalement, de la sélection active)? Pour l'output, l'idée
serait de faire suivre chaque phrase par une série de chiffres (le nb de
lettres de chacun des mots de la phrase), avec évidemment un séparateur (au
cas ou certains mots dépasseraient les 9 lettres).
Exemple:
"Ceci est un exemple extraordinaire."
4.3.2.7.14
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jean-Guy Marcil
Hugo was telling us: Hugo nous racontait que :
Bonjour,
Quelqu'un aurait-il une macro simple pour compter le nb de lettres de chaque mot d'un document (idéalement, de la sélection active)? Pour l'output, l'idée serait de faire suivre chaque phrase par une série de chiffres (le nb de lettres de chacun des mots de la phrase), avec évidemment un séparateur (au cas ou certains mots dépasseraient les 9 lettres).
Exemple: "Ceci est un exemple extraordinaire." 4.3.2.7.14
Ce n'est pas si simple que ça... Amuse-toi avec ça pour cmpter le nombre de lettres de chaque mots dans la phrase courante:
'_______________________________________ Sub CompteLettreDansMots()
Dim i As Long Dim MySentRge As Range Dim WordStr As String Dim WordCount As Long Dim LetCount As String
Set MySentRge = Selection.Range.Sentences(1) With MySentRge i = 0 WordCount = .Words.Count LetCount = " (" For i = 1 To WordCount WordStr = Trim(.Words(i)) If Len(WordStr) = 1 Then If WordStr Like "[A-z]" Or WordStr Like "#" Then If LetCount = " (" Then LetCount = LetCount & Len(WordStr) Else LetCount = LetCount & "-" & Len(WordStr) End If End If Else If LetCount = " (" Then LetCount = LetCount & Len(WordStr) Else LetCount = LetCount & "-" & Len(WordStr) End If End If Next .MoveEnd wdCharacter, -2 .Collapse wdCollapseEnd .Text = LetCount & ")" End With
End Sub '_______________________________________
Pour ce qui est de l'automatiser pour l'ensemble du document, c'est très compliqué car un phrase pour Word (et un mot) n'est pas ce qu'on pense. Le problème est la dernière phrase d'un paragraphe... Celle là compte aussi les espaces et les retours de paragrpahes vides avant le début de la prochaine phrase. Aussi, un mot, pour word, est une ponctuation, un retour de paragraphe (¶), etc...
-- Salut! _______________________________________ Jean-Guy Marcil - Word MVP
Word MVP site: http://www.word.mvps.org
Hugo was telling us:
Hugo nous racontait que :
Bonjour,
Quelqu'un aurait-il une macro simple pour compter le nb de lettres de
chaque mot d'un document (idéalement, de la sélection active)? Pour
l'output, l'idée serait de faire suivre chaque phrase par une série
de chiffres (le nb de lettres de chacun des mots de la phrase), avec
évidemment un séparateur (au cas ou certains mots dépasseraient les 9
lettres).
Exemple:
"Ceci est un exemple extraordinaire."
4.3.2.7.14
Ce n'est pas si simple que ça...
Amuse-toi avec ça pour cmpter le nombre de lettres de chaque mots dans la
phrase courante:
'_______________________________________
Sub CompteLettreDansMots()
Dim i As Long
Dim MySentRge As Range
Dim WordStr As String
Dim WordCount As Long
Dim LetCount As String
Set MySentRge = Selection.Range.Sentences(1)
With MySentRge
i = 0
WordCount = .Words.Count
LetCount = " ("
For i = 1 To WordCount
WordStr = Trim(.Words(i))
If Len(WordStr) = 1 Then
If WordStr Like "[A-z]" Or WordStr Like "#" Then
If LetCount = " (" Then
LetCount = LetCount & Len(WordStr)
Else
LetCount = LetCount & "-" & Len(WordStr)
End If
End If
Else
If LetCount = " (" Then
LetCount = LetCount & Len(WordStr)
Else
LetCount = LetCount & "-" & Len(WordStr)
End If
End If
Next
.MoveEnd wdCharacter, -2
.Collapse wdCollapseEnd
.Text = LetCount & ")"
End With
End Sub
'_______________________________________
Pour ce qui est de l'automatiser pour l'ensemble du document, c'est très
compliqué car un phrase pour Word (et un mot) n'est pas ce qu'on pense. Le
problème est la dernière phrase d'un paragraphe... Celle là compte aussi les
espaces et les retours de paragrpahes vides avant le début de la prochaine
phrase. Aussi, un mot, pour word, est une ponctuation, un retour de
paragraphe (¶), etc...
--
Salut!
_______________________________________
Jean-Guy Marcil - Word MVP
jmarcilREMOVE@CAPSsympatico.caTHISTOO
Word MVP site: http://www.word.mvps.org
Quelqu'un aurait-il une macro simple pour compter le nb de lettres de chaque mot d'un document (idéalement, de la sélection active)? Pour l'output, l'idée serait de faire suivre chaque phrase par une série de chiffres (le nb de lettres de chacun des mots de la phrase), avec évidemment un séparateur (au cas ou certains mots dépasseraient les 9 lettres).
Exemple: "Ceci est un exemple extraordinaire." 4.3.2.7.14
Ce n'est pas si simple que ça... Amuse-toi avec ça pour cmpter le nombre de lettres de chaque mots dans la phrase courante:
'_______________________________________ Sub CompteLettreDansMots()
Dim i As Long Dim MySentRge As Range Dim WordStr As String Dim WordCount As Long Dim LetCount As String
Set MySentRge = Selection.Range.Sentences(1) With MySentRge i = 0 WordCount = .Words.Count LetCount = " (" For i = 1 To WordCount WordStr = Trim(.Words(i)) If Len(WordStr) = 1 Then If WordStr Like "[A-z]" Or WordStr Like "#" Then If LetCount = " (" Then LetCount = LetCount & Len(WordStr) Else LetCount = LetCount & "-" & Len(WordStr) End If End If Else If LetCount = " (" Then LetCount = LetCount & Len(WordStr) Else LetCount = LetCount & "-" & Len(WordStr) End If End If Next .MoveEnd wdCharacter, -2 .Collapse wdCollapseEnd .Text = LetCount & ")" End With
End Sub '_______________________________________
Pour ce qui est de l'automatiser pour l'ensemble du document, c'est très compliqué car un phrase pour Word (et un mot) n'est pas ce qu'on pense. Le problème est la dernière phrase d'un paragraphe... Celle là compte aussi les espaces et les retours de paragrpahes vides avant le début de la prochaine phrase. Aussi, un mot, pour word, est une ponctuation, un retour de paragraphe (¶), etc...
-- Salut! _______________________________________ Jean-Guy Marcil - Word MVP