L’un des avantages des champs est que vous pouvez insérer des informations dynamiques dans votre document. Lorsque le champ est mis à jour, il est remplacé par les informations actuelles relatives au champ utilisé. Par exemple, vous pouvez utiliser le champ NumWords pour insérer le nombre de mots dans le document. Lorsque le champ est mis à jour, il est remplacé par le nombre de mots qui se trouvent alors dans le document.

Si vous souhaitez connaître le nombre de mots dans une section et le placer dynamiquement dans un document, vous n’avez pas de chance. Aucun champ ne renverra ces informations. Vous pouvez le découvrir manuellement en sélectionnant le texte dans la section puis en choisissant l’outil de décompte de mots, mais cela ne satisfait évidemment pas le désir d’avoir une valeur qui puisse être insérée dans votre document et mise à jour automatiquement.

Cela signifie que vous devrez vous fier à une macro pour obtenir le nombre de mots souhaité. Si vous souhaitez simplement connaître le nombre de mots dans chaque section de votre document, la macro suivante peut être utile.

Sub WordCount()

Dim NumSec As Integer     Dim S As Integer     Dim Summary As String

NumSec = ActiveDocument.Sections.Count     Summary = "Word Count" & vbCrLf

For S = 1 To NumSec         Summary = Summary & "Section " & S & ": " _           & ActiveDocument.Sections(S).Range.Words.Count _           & vbCrLf     Next

Summary = Summary & "Document: " & _       ActiveDocument.Range.Words.Count     MsgBox Summary End Sub

Cela parcourt simplement chaque section, détermine le nombre de mots dans cette section et affiche les informations récapitulatives dans une boîte de message.

Cela ne fournit pas un moyen d’insérer dynamiquement les informations dans le document, mais il fournit une illustration de la façon dont vous pouvez trouver le nombre de mots d’une seule section.

Une variante de la technique vous permet d’insérer automatiquement le nombre de mots pour une section spécifique à l’emplacement d’un signet dans votre document. Disons que vous avez un signet appelé « WordCount » que vous avez défini. Ce signet spécifie l’endroit où vous voulez le nombre de mots dans la deuxième section de votre document. La macro suivante déterminera le nombre de mots pour la section spécifiée, puis insérera le texte à l’emplacement du signet.

Sub InsertWordCount()

Dim oRange As Word.Range     Dim sBookmarkName As String     Dim sTemp As String

sBookmarkName = "WordCount"

With ActiveDocument         sTemp = Format(.Sections(2).Range.Words.Count, "0")

Set oRange = .Bookmarks(sBookmarkName).Range         oRange.Delete         oRange.InsertAfter Text:=sTemp         .Bookmarks.Add Name:=sBookmarkName, Range:=oRange     End With End Sub

La macro peut être facilement appelée à partir d’autres macros, comme celle qui s’exécute lorsque le document est ouvert, enregistré ou imprimé. De cette façon, le nombre de mots serait mis à jour à tous les moments normaux lorsqu’un champ est automatiquement mis à jour.

WordTips est votre source pour une formation Microsoft Word rentable.

(Microsoft Word est le logiciel de traitement de texte le plus populaire au monde.) Cette astuce (519) s’applique à Microsoft Word 97, 2000, 2002 et 2003. Vous pouvez trouver une version de cette astuce pour l’interface ruban de Word (Word 2007 et plus tard) ici:

lien: / wordribbon-Word_Count_for_a_Section [Nombre de mots pour une section].