Pour être clair, vous souhaitez pouvoir faire, dans un document, un calcul prenant en référence plusieurs cellules de plusieurs tableaux situés dans ce même document.
Je rappelle avant tout que pour faire des calculs, rien ne vaut Excel, et que, dans la mesure du possible, il est toujours préférable de passer par Excel.
Néanmoins, ce type de calcul est tout à fait faisable dans Word.
Je rappelle toutefois deux choses importantes :
- Les références des cellules sont les mêmes que dans Excel, SAUF QUE Word ne connaît que des références absolues : si, par exemple, vous vous référez à la cellule A5 (1ère colonne, 5e ligne) et que vous ajoutez une ligne avant, votre référence sera toujours A5 alors que la cellule qui vous intéresse est devenue A6).
- Les calculs sont fabriqués avec des champs. Les champs dans Word ne se mettent pas à jour tout seuls. Donc, si vous changez les nombres dans vos tableaux, pensez à faire la mise à jour des champs.
Je ne vais pas rentrer dans des formules compliquées que l'on va réserver à Excel. L'insertion d'une formule dans un tableau est assez simple car on va utiliser la boîte de dialogue Formule (onglet Mise en page (de tableau), groupe Données, Formule) et l'on va choisir la fonction dont on a besoin. Par défaut, Word vous propose de faire la somme soit de la colonne =SUM(ABOVE), soit de la ligne =SUM(LEFT), en fonction du tableau et de la position du curseur. Vous pouvez ajouter le format numérique et c'est fait !
Le problème qui nous intéresse ici est lorsque l'on veut faire un calcul qui porte sur plusieurs tableaux. Dans ce cas, il est impératif de créer un signet pour chacun des tableaux : Sélection du tableau entier, Insertion, groupe Liens, Signet.
Important : ne donnez pas à vos signets des noms qui ressemblent à des références de cellule, ça ne fonctionnera pas et Word ne vous dira pourquoi. Donc bannissez T1, T2, etc. pour le tableau 1, le tableau 2, etc.
Une fois cet exercice accompli, vous allez pouvoir créer un champ calcul. Rappelez-vous que TOUS les champs { } se créent avec Ctrl+F9. Pour tout savoir sur les champs, c'est ici.
Par exemple, si vous souhaitez additionner la 3e colonne du tableau nommé "tablo1" avec la 2e colonne du tableau nommé "tablo 2", voici le champ :
{ =SUM (tablo1 C:C) + SUM (tablo2 B:B)}
Vous voyez que le signet correspondant au tableau avec la référence des cellules est mis entre parenthèses. Ici C:C désigne la 3e colonne du premier tableau, et B:B désigne la 2e colonne du deuxième tableau.
En utilisant cette méthode de colonne entière, vous ne risquez pas d'erreurs si vous ajoutez ou supprimez des lignes, car la formule prend en compte la colonne entière. Attention toutefois si vous avez décidé de mettre dans ces mêmes colonnes, sur la dernière cellule, la somme de la colonne. Cette somme serait prise dans votre addition des deux colonnes et le résultat serait donc doublé. Si c'est le cas, il faudra changer la formule de façon à faire une division par deux :
{ =SUM (tablo1 C:C)/2 + SUM (tablo2 B:B)/2 }
Si toutes vos colonnes comportent déjà un total, vous pouvez faire la division sur le total, plutôt que sur chaque somme de colonne :
{ =(SUM (tablo1 C:C) + SUM (tablo2 B:B))/2 }
J'ai donné dans cet article l'exemple pour des sommes de colonnes, ce qui est probablement la formule la plus utile dans Word. Sachez cependant qu'il existe une série de formules, et que vous pouvez faire référence non pas à une colonne ou une ligne entière, mais à des cellules particulières, en se souvenant bien de ce que j'ai écrit en début d'article : les références sont toujours absolues !
Si vous souhaitez par exemple diviser la cellule A1 du "tablo1" par la cellule B5 du "tablo2", vous utiliserez la formule ci-après. Notez qu'on doit quand même passer par des sommes :
{ =SUM (tablo1 A1) / SUM (tablo2 B5) }
Pour compliquer, voici un exemple de formule qui va insérer le montant de la troisième colonne du "tablo2" s'il est supérieur au montant de la deuxième colonne du tableau 1, et dans le cas inverse, un texte :
{ IF { = SUM (tablo2 C:C) } > { = SUM (tablo1 B:B) } "{ = SUM (tablo2 C:C) }" "Le montant de la 3e colonne du tableau 2 est inférieur"}
Bon amusement !!