Détection de référence circulaire

Introduction

Les classeurs peuvent avoir des références circulaires et il est parfois nécessaire de détecter si des références circulaires sont présentes ou non.

Concept derrière la détection de la référence circulaire

Les références circulaires ne peuvent être détectées que lorsque la formule est calculée car les références d’une formule dépendent généralement du résultat calculé d’autres parties ou d’autres formules. Nous fournissons donc de nouvelles API pour cette exigence (pour rassembler des cellules avec des références circulaires) dans le processus de calcul de la formule :

CelluleCalcul: Représente le calcul des données pertinentes sur une cellule en cours de calcul

AbstractCalculationMonitor.OnCircular(IEnumerator circularCellsData) : sera invoqué par le moteur de calcul de formule lorsqu’il rencontrera des références circulaires, l’élément dans l’énumérateur estCelluleCalcul objets qui représentent toutes les cellules d’un cercle. La valeur renvoyée indique si le moteur de formule doit calculer ces cellules en circulaire après cet appel.

L’utilisateur peut rassembler ces références circulaires dans la mise en œuvre deAbstractCalculationMonitor.OnCircular() méthode.

Le fichier d’exemple source peut être téléchargé à partir du lien suivant :

Formules circulaires.xls

Définition deCirculaireMoniteur classe dérivée deRésuméCalculMoniteur classe est la suivante :