J'avais un document avec plus de 200 tableaux et j'ai dû modifier la largeur de la 1ere colonne de tous les tableaux (pour passer de 1 cm à 1,3 cm).
Le code de ma macro (c'est perfectible car il y a des valeur en "dur" dedans mais je n'avais pas le temps de trop "finasser")
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 rem ------------------------------------------------------------------------------- rem procedure pour modifier la largeur de la première colonne d'un tableau à 1,3 cm rem ------------------------------------------------------------------------------- Sub ModifyTableWidth() Dim largeur as double Dim separateur as variant Dim oVCurs ' recupere la vue du curseur oVCurs = ThisComponent.getCurrentController().getViewCursor() ' verifie que le curseur est dans un tableau If IsEmpty(oVCurs.TextTable) Then MsgBox "The cursor is NOT in a table" Exit Sub End If ' recupere le tableau oTable = oVCurs.TextTable ' MsgBox "The cursor is in table " & oTable.getName ' la largeur de la page en cm (il y a probablement un autre moyen pour la récuperer) width_page = 17 ' la largeur du tableau width_table = oTable.TableColumnRelativeSum ' la largeur desiree en cm desired_width = 1.3 ' calcule la nouvelle largeur de la colonne width_col = 1.3 * width_table / width_page ' recupere les separateurs du tableau separateur = oTable.TableColumnSeparators ' modifie la largeur de la colonne 0 separateur(0).position = width_col ' positionne la nouvelle largeur oTable.TableColumnSeparators = separateur end sub
Partager