Créer des variables et programmer des formules de calcul

Objectif

Maestro* permet d’entrer deux types de formules de calcul dans le champ Quantité :

  • Simple - qui n’utilise que des valeurs numériques.
  • Complexe - qui utilise des valeurs numériques et des variables.

Les informations contenues dans ce document sont également applicables dans les options suivantes :

 

 

Attention! Cette procédure s’applique uniquement pour les soumissions de type construction.

 

PRÉREQUIS 

 

Sommaire

Des formules de calcul peuvent être définies pour les Soumissions, Gabarits de soumission et Assemblages, dans les endroits suivants :

Une formule peut utiliser des chiffres et/ou des variables et/ou des opérateurs (voir le tableau des formules).

 

Étapes

Onglet Variables

Cet onglet permet de :

  • Créer des variables utilisables à divers endroits dans l’onglet Détail;
  • D’entrer les données du relevé des quantités fait sur les plans afin de rendre ses données disponibles dans l’onglet Détail;
  • Faciliter les changements de quantités utilisées à plusieurs endroits dans l’onglet Détail;
  • Faire le pont entre l’onglet Feuille de calcul et l’onglet Détail en permettant de créer des variables dynamiques qui utilisent les valeurs de l’onglet Feuille de calcul pour les rendre disponibles dans l’onglet Détail.

Il est possible d’entrer des formules simples ou complexes dans cet onglet.

Créer de nouvelles variables

  1. À partir de la fenêtre principale de maestro*, dans le menu de gauche, cliquer sur le module Projets, puis Estimations/Soumissions.
  2. Dans la section de droite, dans le groupe Fonctions, cliquer sur Soumissions-Mode avancé. La fenêtre de Sélection des soumissions apparaît.
  3. Sélectionner une soumission et cliquer sur Accepter.
  4. Cliquer sur l’onglet Variables.
  5. Compléter les informations en fonction du tableau ci-dessous.

Champs

Inscrire / Sélectionner

Nom

Nom de la nouvelle variable

Valeur

Valeur de cette variable

NOTE : Entrer une valeur ou une formule.

Formule

Formule de calcul de la variable

Exemple : 40*25 dont le résultat est 1000. Maestro* inscrira ce résultat dans la colonne Valeur.

NOTE : La formule d’une variable peut utiliser la valeur d’une autre variable. Par exemple, 50*VAR1 donne le résultat de 100 si VAR1 a une Valeur de 2.

Unité

L’unité de mesure de la variable

Description

Description de la variable afin de préciser son utilité

  1. Cliquer sur Enregistrer.

Les variables ainsi créées seront maintenant disponibles dans l’onglet Détail selon la procédure de la section Onglet Détail du présent document.

 

Créer des variables utilisant les valeurs des cellules de l’onglet « Feuille de calcul »

  1. À partir de la fenêtre principale de maestro*, dans le menu de gauche, cliquer sur le module Projets, puis Estimations/Soumissions.
  2. Dans la section de droite, dans le groupe Fonctions, cliquer sur Soumissions-Mode avancé. La fenêtre de Sélection des soumissions apparaît.
  3. Sélectionner une soumission et cliquer sur Accepter ou utiliser un double-clic.
  4. Cliquer sur l’onglet Variables.
  5. Compléter les informations en fonction du tableau ci-dessous.

Champs

Inscrire / Sélectionner

Nom

Nom de la nouvelle variable

Feuille de calcul

La valeur de la cellule de l’onglet Feuille de calcul. Maestro* affichera la valeur de cette cellule dans la colonne Valeur.

NOTE : Exemple 1. Si la valeur « 1:g10 » est entrée dans la colonne Feuille de calcul, le système ira chercher la valeur de la cellule « g10 » du premier onglet de l’onglet Feuille de calcul.

Exemple 2. Si la valeur « Béton:g10 » est entrée dans la colonne Feuille de calcul, le système ira chercher la valeur de la cellule « g10 » de l’onglet « Béton » dans l’onglet Feuille de calcul.

Unité

L’unité de mesure de la variable

Description

Description de la variable afin de préciser son utilité

  1. Cliquer sur Enregistrer.

Les variables ainsi créées sont maintenant disponibles dans l’onglet Détail selon la procédure de la section Onglet Détail du présent document.

 

Onglet Détail

Dans cet onglet, il est possible de définir des formules de calcul pour la quantité des matériaux, ressources, sous-traitants et/ou assemblages.

 

Il est utile de programmer certaines variables et/ou formules dans les gabarits de soumission pour des éléments qui reviennent d’une soumission à l’autre.

Exemple : durée du projet en mois, durée du projet en semaine, cautionnement de soumission, cautionnement d’entretien, permis, roulotte de chantier, nombre d’heures travaillées par homme par semaine, facteur de risque, quantités de matériaux à partir desquelles certaines quantité de main-d’œuvre sont calculées, etc.

  1. À partir de la fenêtre principale de maestro*, dans le menu de gauche, cliquer sur le module Projets, puis Estimations/Soumissions.
  2. Dans la section de droite, dans le groupe Fonctions, cliquer sur Soumissions-Mode avancé. La fenêtre de Sélection des soumissions apparaît.
  3. Sélectionner une soumission et cliquer sur Accepter.
  4. Cliquer sur l’onglet Détail.
  5. Double-cliquer dans la cellule appropriée de la colonne Quantité. La fenêtre Formule apparaît.
  6. Les variables suivantes sont disponibles par défaut :

Formules

Description

Qté Module

Prend la valeur de la colonne Quantité de l’assemblage.

NOTE : Cette variable est applicable uniquement pour les éléments des assemblages.

<TOTAL_COUTANT> 

Prend la valeur inscrite dans la colonne Coûtant de la division Total.

<TOTAL_VENDANT> 

Prend la valeur inscrite dans la colonne Vendant de la division Total.

<COUTANT_ACTIVITE> 

Prend la valeur inscrite dans la colonne Coûtant de l’activité courante.

<COUTANT_PHASE> 

Prend la valeur inscrite dans la colonne Coûtant de la phase courante.

<COUTANT_SECTION> 

Prend la valeur inscrite dans la colonne Coûtant de la section courante.

<COUTANT_DIVISION> 

Prend la valeur inscrite dans la colonne Coûtant de la division courante.

<QTE_ACTIVITE> 

Prend la valeur de la colonne Quantité de l’activité courante.

<QTE_PHASE> 

Prend la valeur de la colonne Quantité de la phase courante.

<QTE_SECTION> 

Prend la valeur de la colonne Quantité de la section courante.

<QTE_DIVISION>

Prend la valeur de la colonne Quantité de la division courante.

  1. Entrer la formule dans l’encadré blanc en utilisant des chiffres et/ou des variables ainsi que les opérateurs habituels (addition, soustraction, division, multiplication, etc.).

 

L’option Désactivée, si cochée, permet de désactiver (sans effacer) une formule afin d’entrer un nombre manuellement dans la colonne Quantité de l’onglet Détail.

  1. Cliquer sur Accepter.

 

Pour sélectionner une formule, il est possible de double-cliquer sur la variable située à droite de l’écran. Elle sera automatiquement reportée dans l’encadré blanc.

Une formule exponentielle peut être entrée à l’aide du signe ^. Par exemple, si la division courante affiche une valeur de 2, la formule <QTE_DIVISION> ^2 donnera le résultat de 4.

Se référer au tableau en annexe pour connaître les fonctions et opérateurs possibles dans les formules.

  1. Cliquer sur Enregistrer.

 

Annexe

Tableau des formules

Le tableau suivant présente les fonctions et opérateurs que l’usager peut utiliser dans les formules de calcul des soumissions.

Formules

Permet de calculer une valeur à partir de fonctions supportées par le langage VBScript.

Les opérateurs disponibles sont :

+

Addition

-

Soustraction

*

Multiplication

^

Puissance

/

Division avec décimales

\

Division, arrondi à l’entier inférieur

MOD

Modulo – reste de la division entière

<

Plus petit que

<=

Plus petit ou égal

>

Plus grand que

>=

Plus grand ou égal

<>

Différent

NOT

Non logique

AND

Et logique

OR

Ou logique

XOR

Xor logique

EQV

Équivalent

IMP

Implication

&

Concaténation

NOTE : Il n’est pas nécessaire d’écrire les opérateurs en majuscule dans les formules.

 

Expressions mathématiques :

Abs(nbr)

renvoie la valeur absolue

Atn(nbr)

renvoie l’arc tangent

Cos(nbr)

renvoie le cosinus

Exp(nbr)

renvoie la puissance

Int(nbr)

renvoie la partie entière

Fix(nbr)

renvoie la partie entière

Log(nbr)

renvoie le log népérien

Sqr(nbr)

renvoie la racine carrée

Tan(nbr)

renvoie la tangente

Sgn(nbr)

renvoie le signe du (nombre)

Sin(nbr)

renvoie le sinus

 

Fonctions :

NOTE : Les fonctions IIF, UNIT, ROUND, MAXservent dans les onglets Variables et Détail des soumissions, des gabarits de soumission et dans les assemblages. La fonction MAX_PP est utilisée uniquement dans l’onglet Variables des assemblages. La fonction SUMEX est utilisée uniquement dans l’onglet Détail des mêmes trois endroits.

IIF(Expr, partie vraie, partie fausse) : Affiche ‘partie vraie’ ou ‘partie fausse’ selon le résultat de ‘Expr’.

UNIT(nbr OU expression,nbr entier) : Affiche un multiple de ‘nbr entier’ en fonction de ‘nbr’ OU le résultat de l’expression arrondi à l’unité supérieure.

ROUND(expr,[nb décimales requises]) : renvoie l'arrondi à l’entier ou la décimale le plus près selon le cas.

Exemple 1 : ROUND(5/3,1) = 1.7 = arrondi à la 1ère décimale supérieure.

Exemple 2 : ROUND(11/4,2) = 2.75 = arrondi à la 2e décimale supérieure.

Exemple 3 : ROUND(13/5,0) = ROUND(2.6) = 3 = arrondi à l’unité la plus près.

Exemple 4 : ROUND(13/6,0) = ROUND(2.166667) = 2 = arrondi à l’unité la plus près.

MAX(VAR1,VAR2) : Retourne la plus grande valeur entre VAR1 et VAR2.

MAX(VAR1,MAX(VAR2,VAR3)) : Retourne la plus grande valeur entre VAR1, VAR2 et VAR3.

MAX(VAR1,MAX(VAR2,MAX(VAR3,VAR4))) : Retourne la plus grande valeur entre VAR1, VAR2, VAR3 et VAR4.

MAX(VAR1,MAX(VAR2,MAX(VAR3,MAX(VAR4,VAR5)))) : Retourne la plus grande valeur entre VAR1, VAR2, VAR3, VAR4 et VAR5.

Et ainsi de suite s’il y a plus de variables à tenir en compte pour obtenir la plus grande valeur.

MAX_PP : Cette fonction, contrairement à la fonction MAX ne prend qu'un seul paramètre, soit le nom de variable du paramètre produit dans les Champs supplémentaires de l’item dans la Gestion du catalogue.

MAX_PP(VAR_PJ) : Celle-ci va retourner la valeur maximum de PJ de tous les items choisis pour la variable VAR.

MAX_PP : en ne lui passant que le nom du paramètre produit (ex: PJ) pour avoir le maximum de PJ peu importe la variable auquel l'item est rattaché.

NOTE : Le « nom du paramètre produit » est en fait le « nom du Champ supplémentaire » créé pour l’item dans la Gestion du catalogue.

SUMEX : Calcul d’une quantité à partir d'une formule 'SUMEX'.

SUMEX{<variable à additionner>,<division>,<section>,<phase>,<activité>, <assemblage>,<type d'item>,<filtre>}

 

Élément

Détail

Valeurs possibles

<Variable à additionner>

Variables de la somme.

QTE, COSTAMOUNT, UP, SELLAMOUNT

<Division>

Divisions à parcourir.

CURRENT (défaut), ALL, un code de division.

<Section>

Sections à parcourir.

CURRENT (défaut), ALL, un code de section.

<Phase>

Phases à parcourir.

CURRENT (défaut), ALL, un code de phase.

<Activité>

Activités à parcourir.

CURRENT (défaut), ALL, un code d’activité.

<Assemblage>

Assemblages à parcourir.

CURRENT, ALL (défaut), un numéro d’assemblage.

<Type d’item>

Types d'items à inclure.

M, S, R.

NOTE : M pour matériau, R pour ressource et S pour sous-traitant. Toute combinaison est possible. Aucune valeur n’équivaut à toutes les valeurs.

<Filtre>

Filtres à appliquer.

Les variables possibles sont UNIT, ACTIVITY, GROUP, CODE, QTE, COSTAMOUNT, UP, SELLAMOUNT et doivent être inscrites entre <>

NOTE : Les opérateurs possibles sont : =, >, <, NOT, AND, OR, /, \, *, +, -. Les parenthèses sont aussi permises.

NOTE : La valeur doit être entre guillemets ("valeur") si le filtre n'est pas numérique (UNIT, ACTIVITY, GROUP, CODE).

Exemple : <UNIT>="pied".

NOTE : UP signifie « Unit Price » et est donc liée à la colonne prix unitaire; QTE est la variable liée à la colonne Quantité; COSTAMOUNT est la variable liée à la colonne du Coûtant; SELLAMOUNT est la variable liée à la colonne du Vendant.

Voici quelques exemples :

 

Les formules des exemples qui suivent peuvent être modifiées pour être appliquées autant dans des soumissions (ou gabarits de soumission) que dans des assemblages selon les besoins.

EXEMPLE 1

IIF(VAR1<VAR2,VAR3,VAR2) : affichera la valeur de la variable VAR3 si VAR1 est plus petit que VAR2, sinon affichera la valeur de VAR4.

EXEMPLE 2

Vous désirez utiliser la durée du projet en mois et en semaines afin de calculer la quantité pour la roulotte de chantier et pour le signaleur.

Et étant donné que ces données sont aussi utilisées pour le calcul de d’autres éléments de la soumission, il est préférable de créer des variables dans l’onglet Variables. Ainsi, si la durée du projet change en cours de soumission, il sera très facile d’ajuster tous les calculs par une modification à un seul endroit.

Formule : UNIT(NBR ou EXPRESSION,NBR ENTIER)

UNIT(CALCUL_DUREE,1) : affichera, dans la variable DUREE_SEM, la valeur de la variable CALCUL_DUREE arrondie à l’unité supérieure.

OU, plus directement :

UNIT(DUREE_MOIS*4.33,1) : affichera, dans la variable DUREE_SEM, le résultat de l’expression arrondi à l’unité supérieure.

Dans la soumission :

Résultat dans la soumission :

 

EXEMPLE 3

Formule : SUMEX{<variable à additionner>,<division>,<section>,<phase>,<activité>, <assemblage>,<type d'item>,<filtre>}

Le temps de main-d’œuvre du journalier qui vibre et lisse le béton dépend de la quantité de béton coulé en place. Le ratio est de 1 heure par mètre cube. L’objectif est donc d’automatiser le calcul afin d’économiser du temps.

SUMEX{QTE,CURRENT,CURRENT,CURRENT,CURRENT,,M,} ou SUMEX{QTE,,,,,,M,} : affichera, dans la colonne Quantité de l’élément courant, la somme des valeurs de la colonne Quantité de tous les autres éléments, du niveau courant, dont la colonne Type indique que c’est un matériau et dont la valeur de la colonne Groupe est M.

Résultat :

EXEMPLE 4

Formule : SUMEX{<variable à additionner>,<division>,<section>,<phase>,<activité>, <assemblage>,<type d'item>,<filtre>}

Le calcul du cautionnement d’exécution est toujours le même alors vous désirez que ce calcul soit automatisé. Le cautionnement est de 7.50$/1000. Le calcul est effectué à partir du montant vendant de la soumission.

 

Cet exemple peut aussi s’appliqué au calcul de la quantité de l’assurance, du transport, et de tout autre élément qui dépend de la valeur d’un autre élément de la soumission.

SUMEX{SELLAMOUNT,ALL,ALL,ALL,ALL,ALL,MRS,}/1000 ou SUMEX{SELLAMOUNT,ALL,,,,,MRS,} : affichera, dans la colonne Quantité de l’élément courant, la valeur résultant de la somme des montants vendant de tous les items, ressources et sous-traitants de la soumission.

Résultat :

EXEMPLE 5

Formule : SUMEX{<variable à additionner>,<division>,<section>,<phase>,<activité>, <assemblage>,<type d'item>,<filtre>}

Vous êtes un sous-traitant en revêtements divers (plancher, murs et plafonds); c’est-à-dire que vous fabriquez et installez vous-même les revêtements dans les bâtiments. Vous devez donc calculer le transport de vos matériaux de votre usine au chantier. Le calcul du transport varie d’un matériau à l’autre. Vous décidez donc de créer un gabarit de soumission qui utilise une structure de soumission dont le premier niveau est utilisé pour les matériaux.

Au fil du temps, votre expérience vous a appris que le transport du bois vous coûte 15% de plus que le coûtant du matériel, le transport de la céramique vous coûte 1.25 fois plus que le matériel même, et le transport du tapis vous coûte 2 fois plus cher que le coût du matériel même en raison du poids et d’autres facteurs indirects. Dans tous les cas, le coût du transport au km est de 1.20$ aller/retour et la quantité du transport dépend du coûtant total du matériel à transporter.

SUMEX{COSTAMOUNT,,1,,,,M,<GROUPE>=''M''} : affichera, dans la colonne Quantité de l’élément courant, le résultat de la somme des montants coûtant des items de la section 1 dont le Type est « Matériel » et le Groupe est « M ».

Résultat :

 

Anciennement, Comment faire no 22

Dernière modification : 12 novembre 2024