Sheryl crée régulièrement des documents contenant de très nombreux tableaux.

Chacun des tableaux est cohérent en ce sens qu’ils ont la même disposition générale. (Chacun contient le même nombre de colonnes, chaque colonne contenant le même type d’informations.) Sheryl cherche un moyen de s’assurer que les largeurs des colonnes de tous les tableaux sont cohérentes.

La solution dépend du moment où vous devez créer les tables. Si le document est nouveau, créer les tableaux de manière cohérente est plutôt facile. Comme cela a été décrit dans d’autres WordTips (et que je n’entrerai pas ici), vous pouvez enregistrer vos tables standard en tant qu’entrées de blocs de construction ou créer un style de table qui définit comment vous voulez que votre table apparaisse. Si nécessaire, vous insérez simplement l’entrée Building Block ou appliquez le style, et le tableau apparaît comme vous le souhaitez.

La solution est un peu plus complexe si votre document est déjà créé et que vous souhaitez simplement appliquer la cohérence aux tables qui existent dans le document. Dans ce cas, la solution consiste à utiliser une macro pour modifier la largeur des colonnes.

Il est possible de créer une macro qui parcourra rapidement chaque tableau d’un document et donnera à chaque colonne du tableau la même largeur, de cette manière:

Sub SetColumnWidths1()

Dim t As Table     For Each t In ActiveDocument.Tables         t.Columns.Width = InchesToPoints(2)

Next t End Sub

Cependant, il y a de fortes chances que vous ne souhaitiez pas que chaque colonne mesure 2 pouces de large. Vous souhaitez probablement que chaque colonne ait une largeur spécifique, différente des autres colonnes. L’itération suivante de la macro gère cette probabilité:

Sub SetColumnWidths2()

Dim t As Table     For Each t In ActiveDocument.Tables         t.Columns(1).Width = InchesToPoints(2)

t.Columns(2).Width = InchesToPoints(2.5)

t.Columns(3).Width = InchesToPoints(3)

Next t End Sub

L’inconvénient d’une telle macro est que vous devez spécifier, dans le codage, la largeur de chaque colonne. De plus, si vous avez un tableau anormal dans votre document (il n’a pas le même nombre de colonnes que tous vos autres tableaux), alors la macro essaie allègrement de définir la largeur des colonnes.

Une meilleure approche, alors, peut être d’avoir un tableau «modèle» dans votre document, puis de définir tous vos autres tableaux de sorte qu’ils utilisent les mêmes largeurs de colonne que ce tableau. Une approche simple consiste à formater manuellement les largeurs de colonne du premier tableau du document, puis à demander à la macro d’examiner ce tableau et de l’utiliser comme modèle pour le reste des colonnes du tableau.

Sub SetColumnWidths3()

Dim t As Table     Dim c As Column     Dim ccnt As Integer     Dim w() As Single     Dim J As Integer     Dim K As Integer

Set t = ActiveDocument.Tables(1)

ccnt = t.Columns.Count     ReDim w(ccnt)

J = 0     For Each c In t.Columns         J = J + 1         w(J) = c.Width     Next c

For J = 2 To ActiveDocument.Tables.Count         Set t = ActiveDocument.Tables(J)

If t.Columns.Count = ccnt Then             For K = 1 to ccnt                 t.Columns(K).Width = w(K)

Next K         Endif     Next J End Sub

Cette macro examine le nombre de colonnes dans la première table (en attribuant la valeur à la variable ccnt), puis examine la largeur de chacune de ces colonnes (en attribuant les valeurs au tableau w). Il parcourt ensuite le reste des tableaux du document, et si le nombre de colonnes du tableau correspond au nombre de la variable ccnt, il définit la largeur de chaque colonne sur les largeurs stockées dans le tableau w. Le résultat est que chaque tableau du document (enfin, au moins ceux qui ont le même nombre de colonnes que le premier tableau) a les mêmes largeurs de colonne.

Il y a un problème potentiel ici: si les tableaux de votre document utilisent des cellules fusionnées de quelque manière que ce soit, cela pourrait gâcher les résultats que vous obtenez. Dans ce cas, vous souhaiterez enregistrer votre document avant d’exécuter la macro.

De cette façon, vous pouvez vérifier les résultats visuellement, puis revenir au document enregistré, si nécessaire.

_Note: _

Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites WordTips), j’ai préparé une page spéciale qui comprend des informations utiles.

lien: / wordribbon-WordTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur].

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 (11693) s’applique à Microsoft Word 2007, 2010, 2013, 2016, 2019 et Word dans Office 365. Vous pouvez trouver une version de cette astuce pour le ancienne interface de menu de Word ici:

link: / word-Setting_Consistent_Column_Widths_in_Multiple_Tables [Définition de largeurs de colonne cohérentes dans plusieurs tables].