-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathExcel_sub_formula_record.txt
110 lines (85 loc) · 2.7 KB
/
Excel_sub_formula_record.txt
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# sous-fonction : saisie sécurisée [unstable]
# abandonné pour l'instant, système de vérification des
# entrées utilisateur
# détection d'incompatibilités entre les surfaces à
# implémenter
=SI(
OU(ESTVIDE(resultats[[Y_bas]:[X_bas]]))
)
# sous-fonction : masse volumique matériau actuel
# Warning : cas implicite par défaut : matériau non précisé implique béton armé
= SI([@[matériau_élément]]="chanvre";m_vol_BC;m_vol_BA)
# sous-fonction : recherche étage actuel
= RECHERCHEV([@etage];hauteur_etages;2;FAUX);
# sous-classe : ID2coordinates
# on notera la symétrie des fonctions qui suit la symétrie du texte source
# sous-fonction : ID2Y_haut
=GAUCHE([@[idt_surface]];1)
# sous-fonction : ID2Y_bas
=GAUCHE(DROITE([@[idt_surface]];2);1)
# sous-fonction : ID2X_haut
=DROITE(GAUCHE([@[idt_surface]];2);1)
# sous-fonction : ID2X_bas
=DROITE([@[idt_surface]];1)
# sous-fonction : coord2cote
# recherche côtes pour dalles monomailles - STABLE
# recherche côtes Y
= SI (
ET(
[@[Y_haut]] <> [@[Y_bas]] ;
NON(
ESTVIDE(
[@[Y_bas]]
)
)
);
RECHERCHEV(
[@[Y_haut]]; cote_Y; 2; FAUX
);
0
)
# recherche côtes X
= SI (ET([@[X_haut]] <> [@[X_bas]] ; NON(ESTVIDE([@[X_bas]])));
RECHERCHEV(
[@[X_haut]]; cote_X; 2; FAUX
);
0
)
# sous-fonction : recherche côtes pour objets multimailles
# [NE PAS IMPLEMENTER, CONTRAIRE A LOGIQUE GLOBALE DE MAILLE PAR MAILLE]
# PAS DE GESTION DES ELEMENTS DE LONGUEUR NULLE
# recherche côtes Y
= SOMME(
INDIRECT( # récupération coord cellule départ
"'Constantes'!X" & RECHERCHEV(
[@[Y_haut]]; cote_Y; 3; FAUX
)
)
:
INDIRECT( # récupération coord cellule arrivée
"'Constantes'!X" & RECHERCHEV(
[@[Y_bas]]; cote_Y; 3; FAUX
)
)
)
# retirer la longueur au point d'arrivée car pas inclus
- INDIRECT( # récupération coord cellule arrivée
"'Constantes'!X" & RECHERCHEV(
[@[Y_bas]]; cote_Y; 3; FAUX
)
)
# recherche côtes X
=SOMME(
INDIRECT(
"'Constantes'!AB" & RECHERCHEV(
[@[X_haut]]; cote_X; 3; FAUX
)
)
:
INDIRECT(
"'Constantes'!AB" & RECHERCHEV(
[@[X_bas]]; cote_X; 3; FAUX
)
)
)
# TODO : long terme : généraliser la logique de fonctionnalisation en amont