Définition de largeurs de colonne cohérentes dans plusieurs tableaux (Microsoft Word)
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 ne vais pas aborder ici), vous pouvez enregistrer vos tableaux standard dans une insertion automatique ou créer un style de tableau qui définit la façon dont vous voulez que votre tableau apparaisse. Si nécessaire, vous insérez simplement l’insertion automatique 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.
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 (11692) 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:
link: / wordribbon-Setting_Consistent_Column_Widths_in_Multiple_Tables [Définition de largeurs de colonne cohérentes dans plusieurs tables]
.