Bonjour à tous,
Je cherche à construire une formule par rapport à plusieurs colonnes de ma base de données. Ce n’est pas si simple à comprendre, je vais expliquer mon objectif à l’aide d’un exemple :

ETAPE 1 : correspond au numéro 2100
Partie grise :
Ici, voici 4 type d’objet différents (ENT1,..,ENT4). Chacun des objets est associé à un numéro d’avancement (colonne T), ces numéros sont eux reliés à des opérations bien définis.
Partie jaune :
Ces cellules montrent quels « numéros » vont subir chaque objet, et associe ce numéro à des opérations. Lorsque les cellules sont vides, cela veut dire que l’objet ne subira pas cette opération.
L’objectif est :
- Faire la somme des durées jusqu’à l’étape 1, sachant que l’objet a eu un avancement (Ex : l’objet ENT2 se situe au numéro 1749, donc ce qu’il a fait avant en 1500 ne nous intéresse pas) donc la durée jusqu’à l’étape 1 est seulement la durée de l’étape 1749 donc durée = 45
J’ai commencé avec ce code :
Names Default To Here( 1 );
dt = Current Data Table();
dur_cols = Filter Each({col_name}, dt << Get Column Names("String", Continuous),
Starts With(col_name, "durée"));
// for indexing later
num_colnr = Transform Each({col_name}, dur_cols,Word(-1, col_name));
dt << New Column("DUREE ETAPE1", Numeric, Continuous, Format(":jou:hh:m",8), << Set Each Value(
If( :"T"n < 2100 ,
colidx = Loc(dt[Row(), num_colnr] > :"opé"n & (num_colnr < 2100 ) );
If(N Items(colidx) > 0,
val = Sum(dt[Row(), dur_cols[colidx]]);
If(IsMissing(val),
0
,
val
);
,
0
)
,
0
)
));
Merci pour votre aide,
Cordialement