Activation des références circulaires par défaut (Microsoft Excel)
Ron a un classeur qui nécessite l’utilisation de références circulaires, qu’il peut configurer Excel pour très bien. Après avoir protégé et envoyé le classeur par courrier électronique à des collègues, lors de leur utilisation, la capacité itérative (requise pour les références circulaires) est désactivée et la feuille de calcul échoue en raison d’erreurs de référence circulaire. Ron se demande s’il existe un moyen de définir par défaut le classeur afin que les références circulaires soient activées lorsqu’il est chargé par ses collègues.
La seule façon de s’assurer que les classeurs des collègues ont des références circulaires activées consiste à ajouter une macro à votre classeur. La macro ne fait en fait qu’une seule ligne et vous voudrez vous assurer de l’ajouter au module ThisWorkbook:
Private Sub Workbook_Open() Application.Iteration = True End Sub
La macro s’exécute chaque fois que le classeur est ouvert et active le paramètre de références circulaires.
Il y a quelques points à retenir lorsque cela fonctionne pour vos collègues. Tout d’abord, votre classeur devra être enregistré dans une version « macro activée », ce qui signifie qu’il aura l’extension XLSM. Si vos collègues désactivent les macros, soit explicitement lors de l’ouverture du classeur, soit implicitement via les paramètres du Centre de sécurité qu’ils ont définis dans Excel, la macro peut ne pas s’exécuter lorsque le classeur est ouvert. Dans de telles situations, ces collègues recevront toujours les erreurs de référence circulaire.
La deuxième chose à retenir est que l’activation du paramètre de référence circulaire (via cette macro ou en le faisant manuellement) affectera non seulement les calculs sur votre classeur, mais sur tout classeur que vos collègues peuvent avoir ouvert. Cela ne devrait pas causer de gros problème, mais c’est toujours une bonne chose à garder à l’esprit.
Vous souhaiterez peut-être également ajouter une macro pour désactiver le paramètre de référence circulaire lorsque votre classeur est fermé. Ceci aussi devrait être ajouté au module ThisWorkbook:
Private Sub Workbook_Close() Application.Iteration = False End Sub
Cette macro doit en fait être considérée comme facultative, et vous voudrez peut-être déterminer si vous voulez vraiment l’inclure ou non. Si vos collègues travaillent normalement avec le paramètre de référence circulaire activé, la macro Workbook_Open ne gênera pas vraiment la façon dont ils utilisent Excel. Toutefois, si votre macro Workbook_Close est rencontrée, elle désactivera le paramètre de référence circulaire et peut interférer avec la façon dont ils utilisent tous les autres classeurs qui nécessitent des références circulaires.
ExcelTips est votre source pour une formation Microsoft Excel rentable.
Cette astuce (13532) s’applique à Microsoft Excel 2007, 2010, 2013, 2016, 2019 et Excel dans Office 365.