Détection d'une 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 formule :

Cellule de calcul: 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 lors de la rencontre de références circulaires, l’élément dans l’énumérateur estCellule de calcul objets qui représentent toutes les cellules d’un cercle. La valeur renvoyée indique si le moteur de formule doit calculer ces cellules de manière circulaire après cet appel.

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

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

Formules circulaires.xls

Définition deMoniteur Circulaire classe qui dérive deRésuméCalculMoniteur la classe est la suivante :