Souvent, lorsque vous créez un tableau, vous pouvez avoir besoin de combiner deux ou plusieurs cellules pour créer un titre centré sur une section particulière de votre tableau. A partir de 4D v18 R4, un nouvel ensemble de commandes est à votre disposition pour vous aider à fusionner et défusionner un groupe de cellules par programmation. Voyons quelques exemples.
Cellules fusionnées
Pour créer une cellule fusionnée, il suffit de définir une plage contenant toutes les cellules que vous souhaitez combiner. Passez la plage comme paramètre à la commande VP ADD SPAN et c’est parti !
Prenons l’exemple du document ci-dessous :
Si vous souhaitez fusionner les cellules Premier trimestre et Deuxième trimestre dans les cellules adjacentes et fusionner la cellule Zone Sud dans les deux lignes situées en dessous, utilisez simplement ce code :
// First quarter range
$q1:=VP Cells ("ViewProArea";2;3;3;1)
// Second quarter range
$q2 :=VP Cells ("ViewProArea";5;3;3;1)
// South area range
$south :=VP Cells ("ViewProArea";0;5;1;3)
VP ADD SPAN (VP Combine ranges ($q1;$q2;$south))
Voici le résultat :
récupérer les cellules fusionnées
Maintenant, si vous voulez centrer le texte de toutes les cellules fusionnées dans votre document, vous pouvez utiliser la commande VP Get spans pour récupérer toutes les cellules fusionnées :
// Search all the merge cells in the spreadsheet
$range:=VP Get spans (VP All ("ViewProArea"))
//appliquer un style à toutes les travées
$style :=New object("vAlign" ;vk vertical align center; "hAlign" ;vk horizontal align center)
VP SET CELL STYLE ($range;$style)
supprimer les cellules fusionnées
Si, pour une raison quelconque, vous avez besoin de supprimer les intervalles de cellules (c’est-à-dire de défusionner les cellules) dans votre document, utilisez simplement la commande VP REMOVE SPAN:
// Search all the merge cells in the spreadsheet
$range:=VP Get spans (VP All ("ViewProArea"))
// supprimer les cellules fusionnées trouvées
VP REMOVE SPAN ($range)
Vous avez besoin de plus d’informations ? Consultez la documentation.