Macros/Calc/011/fr

Comment gérer les bordures d'une plage de cellules ?
On souhaite gérer par programme la définition des bordures d'une plage ou une cellule.

Les bordures sont accessibles via la propriété TableBorder2.

Les éléments de cette structure sont de deux types :
 * Des bordures (haut, bas, gauche, droite, horizontale, verticale) ; les bordures sont des structures BorderLine2 qui "ajoutent" les éléments de style à la structure BorderLine.
 * Des booléens (IsLeftLineValid, IsRightLineValid, IsTopLineValid, etc.). En écriture, les définir à True pour modifier la ligne correspondante et à False pour l'ignorer, autrement dit pour garder sa valeur actuelle.

La définition de l'espacement avec le contenu se fait via les propriétés ParaLeftMargin, ParaRightMargin, ParaTopMargin, ParaBottomMargin.

La procédure suivante met en forme la plage B2:D7 de la feuille nommée Feuille1 dans le classeur courant :
 * L'objectif est de remplacer les bordures actuelles (les paramètres Is...Valid sont définis à True) pour obtenir un encadrement extérieur et des lignes horizontales doubles. En revanche on ne veut pas de lignes verticales. Il faut en conséquence .IsVerticalLineValid = true et VerticalLine = LibONoLine, une structure définie pour appliquer une ligne "vide". On ne peut simplement utiliser .IsVerticalLineValid = false car la plage peut avoir des lignes verticales définies et on désire les supprimer. Avec le paramètre false les lignes existantes seraient laissées dans leur état actuel.
 * Les diagonales ne sont pas gérées par la structure TableBorder2 mais par les propriétés DiagonalBLTR2 et DiagonalTLBR2 (BLTR = BottomLeftTopRight soit la diagonale du bas à gauche vers le haut à droite, et vice versa pour TLBR).
 * L'espacement avec le contenu désiré est 0,30cm.

Notes :


 * [[Media:FR.MACROS Calc 011 GererBordures.ods|Télécharger un document exemple]]