Coder une gamme dans 4D View Pro

Traduit automatiquement de Deepl

4D v17 R4 apporte de nouvelles fonctionnalités à 4D View Pro et l’une d’entre elles est la création de plages avec du code.

Tout d’abord, vous devez définir un objet de plage pour manipuler vos cellules par programmation. Vous pouvez le faire dans 4D View Pro avec les nouvelles commandes suivantes : VP Cell, VP Cells, VP Column, VP Row, VP All et VP Combine ranges.

Un objet plage peut définir :

  • une cellule ou un groupe de cellules,
  • une colonne ou un groupe de colonnes,
  • une ligne ou un groupe de lignes
  • toutes les cellules d’une feuille.

définir une cellule ou un groupe de cellules

Pour définir les coordonnées d’une seule cellule, utilisez la commande VP Cell pour définir les coordonnées d’une seule cellule :

$column:=3 //column of beginning cell
$row :=5 //row of beginning cell
$sheet :=2 // specific workbook sheet
$cellObj1 :=VP Cell ("ViewProArea" ;$column;$row) // cell D6 (current sheet)
$cellObj2 :=VP Cell ("ViewProArea" ;$column;$row;$sheet)
// cell D6 sheet 3

N’oubliez pas que l’indice de ligne, l’indice de colonne et l’indice de feuille commencent à 0. Les coordonnées de la première cellule supérieure gauche sont donc (0;0) !

Un groupe de cellules est essentiellement défini en faisant référence à la cellule supérieure gauche et au nombre de rangées et de cellules. Transmettez ces informations à la commande VP Cells à la commande :

$column:=3 //column of beginning cell
$row :=5 //row of beginning cell
$columnCount :=2 // total number of columns
$rowCount :=3 // total number of rows
$sheet :=2 // specific workbook sheet
$cellsObj1 :=VP Cells ("ViewProArea" ;$column;$row;$columnCount;$rowCount) // cells D6 to E8 (current sheet)
$cellsObj2 :=VP Cells ("ViewProArea" ;$column;$row;$columnCount;$rowCount;$sheet)
// cells D6 to E8 on sheet 3

définir une colonne ou un groupe de colonnes

Pour définir les coordonnées d’une colonne, passez l’index de la colonne à la commande VP Column pour définir les coordonnées d’une colonne. Si vous devez définir plusieurs colonnes contiguës, ajoutez un nombre de colonnes après l’indice de colonne :

$column:=3 // beginning column
$columnCount :=2 // total number of columns
$sheet :=2 // specific workbook sheet
$colObj1 :=VP Column ("ViewProArea" ;$column) // column D (current sheet)
$colObj2 :=VP Column ("ViewProArea" ;$column;$columnCount) // column D + column E (current sheet)
$colObj3 :=VP Column ("ViewProArea" ;$column;$columnCount;$sheet)
// column D + column E sheet 3

définir une ligne ou un groupe de lignes

Pour définir les coordonnées d’une ligne, passez l’index de la colonne à la commande. VP Row. Si vous devez définir plusieurs lignes contiguës, ajoutez un nombre de lignes après l’indice de ligne :

$row:=5 // beginning row
$rowCount :=3 // total number of rows
$sheet :=2 // specific workbook sheet
$rowObj1 :=VP Row ("ViewProArea" ;$row) // row 6
$rowObj2 :=VP Row ("ViewProArea" ;$row;$rowCount) // row 6 + row 7 + row 8
$rowObj3 :=VP Row ("ViewProArea" ;$row;$rowCount;$sheet)
// row 6 + row 7 + row 8 sheet 2

définir une plage de cellules irrégulières

Une plage de cellules irrégulière correspond au cas où vous devez combiner plusieurs groupes de cellules distincts (discontinus) au sein d’une même plage. Pour ce faire, créez une plage individuelle pour chaque groupe continu, puis passez-les toutes en paramètre à la commande VP Combine ranges à la commande :

$combine:=VP Combine ranges ($cellObj1;$colObj1;$rowObj1;rowObj2;cellsObj2)

Fabrice Mainguené
- Product Owner -Fabrice Mainguené a rejoint l'équipe du programme 4D en novembre 2016. En tant que Product Owner, il est en charge de rédiger les user stories puis de les traduire en spécifications fonctionnelles. Son rôle est également de s'assurer que l'implémentation de la fonctionnalité livrée répond au besoin du client.Après avoir obtenu une licence en informatique au CNAM, Fabrice a rejoint une petite société d'édition de logiciels en tant que développeur Windev. Il a ensuite travaillé pour différentes entreprises dans les domaines de l'industrie et du commerce en tant que développeur Windev et web ainsi que conseiller technique sur les nouvelles fonctionnalités.