Cet exercice sera utile en particulier si vous avez utilisé le publipostage conditionnel qui va créer une série de documents résumant des données par destinataire.

On peut imaginer un exemple où les tableaux serait une synthèse de toutes les sommes dues. Vous souhaitez donc ajouter une ligne au tableau avec la somme d'une colonne.

La macro suivante ajoute une ligne à tous les tableaux du documents, ajoute le mot "TOTAL" dans la 4e cellule de la dernière ligne, et fait la somme dans la 5e cellule de la dernière ligne.

ATTENTION : Word n'est pas très à l'aise avec les nombres et surtout avec le format français. Lorsque vous insérez manuellement une formule, vous devez vous assurez que les nombres à additionner ont une espace insécable pour la séparation des milliers. Or, par VBA, il n'est pas possible d'insérer cette espace insécable dans un format nombre.

Donc, si vous avez besoin d'une mise en forme française pour les nombres, commencez par faire le calcul, puis affectez ensuite le format avec des espaces ordinaires.

Pour les formats nombre, voyez ici.

 

Sub calcul()
For x = 1 To ActiveDocument.Tables.Count
With ActiveDocument.Tables(x).Rows
.Add
.Last.Cells(4).Range.Text = "TOTAL"
.Last.Cells(5).Select
Selection.InsertFormula Formula:="=SUM(ABOVE)"
End With
Next
End Sub