# Exécution des cellules de feuille de calcul

Comme pour les autres feuilles de calcul classiques, l’ordre d’exécution des cellules de feuille de calcul In-Sight est déterminé de façon dynamique par la relation et les dépendances entre les fonctions des cellules. La feuille de calcul In-Sight détermine l’ordre d’exécution des cellules en les évaluant, dans un premier temps, en fonction de leurs dépendances, puis, dans un second temps, selon leur emplacement dans la feuille de calcul.

### Dépendances de cellules

Dans l’exemple suivant, la valeur des cellules B2 et A3 dépend directement de la valeur de A2. La cellule A4 dépend indirectement de A2 en raison de sa référence à A3. En cas de modification de la valeur de A2, les valeurs de B2 et A3, puis celle de A4, doivent être ré-évaluées. Une arborescence d’exécution interne est automatiquement créée pour suivre les dépendances des cellules : elle est reconstruite chaque fois que la feuille de calcul est modifiée lorsque le système est hors ligne.

###### Exemple 1 : Arborescence de dépendances simple

> A2 = 1
> A3 = A2+1
> A4 = A3+1
> B2 = A2+2

Lorsque la valeur ou l’expression d’une cellule change, la feuille de calcul In-Sight repère la cellule dans l’arborescence et détermine les cellules qui doivent être réévaluées. Dans cet exemple, si la valeur de A2 est modifiée, toutes les cellules dépendantes (B2, A3 et A4) doivent être réévaluées. En revanche, si l’expression de la cellule B2 est modifiée, aucune autre cellule ne doit être mise à jour car aucune cellule ne dépend de B2.

### Ordre d’exécution des cellules

Une fois les dépendances évaluées, les cellules sont analysées en fonction de leur emplacement dans la feuille de calcul. Les cellules sont triées par abscisse, de gauche à droite, puis par ordonnée, de haut en bas.

### Exceptions dans l’ordre d’exécution des cellules

Les fonctions suivantes présentent des exceptions à l’ordre normal d’exécution des cellules :

- Fonctions datées
- Fonctions avec références de cellules sans dépendances

Dans l’arborescence d’exécution, les fonctions datées sont toujours placées en haut de l’arborescence car elles doivent avoir accès aux anciennes données des autres cellules.

Il existe plusieurs fonctions prenant des références de cellules comme arguments sans créer de dépendances. La fonction Ligne, qui renvoie la ligne de la cellule référencée, fait partie de ces fonctions.

### Qu’est-ce qui déclenche l’exécution ?

Les cellules sont exécutées lorsque :

- – une cellule comportant des dépendances a été modifiée ;
- – des événements externes se produisent, des déclencheurs par exemple ;
- – des contrôles graphiques (Button, Checkbox, EditInt, etc.) signalent un déclenchement d’événement de feuille de calcul.

La plupart des fonctions d’outil de vision dépendent directement ou indirectement de la fonction (cellule par défaut A0.) Lorsqu’une nouvelle image est acquise, ces fonctions sont exécutées et renvoient de nouvelles valeurs. De plus, la feuille de calcul se met à jour chaque fois qu’une acquisition d’image ou qu’un autre événement de feuille de calcul est déclenché.