Il s’avère que je suis un idiot (ou, au moins, désespérément inexpérimenté avec tout ce développement logiciel). Ce qui suit est ce qui m’a fait paniquer toute la journée. Je vais écrire une réponse détaillant ce que j’ai vu, les actions qui ont suivi et ce qui se passait réellement.
tl;dr : La façon dont je pensais que mon IDE fonctionnait et la façon dont il fonctionne réellement sont deux choses différentes. Il y avait, en fait, un bug dans mon code, mais à cause de ma compréhension de ce que je pensais que mon IDE me disait, j’ai cru que le problème était bien plus grave. Et je suis un idiot de ne toujours pas avoir mis en place le contrôle de version.
Ce que j’avais écrit plus tôt :
Donc, je ne suis pas vraiment un administrateur système mais je suis effectivement “le gars IT” de mon entreprise (nous sommes 12 employés).
Entre 19h GMT hier soir 25/août/2015 et 11h GMT ce matin 26/août/2015, toutes les macros VBA sur chaque ordinateur (nous utilisons Excel 2010 et Excel 2013) ont commencé à exhiber un comportement où les variables déclarées publiquement (qui devraient être disponibles pour tous les sous-programmes dans un classeur donné) ne sont disponibles que dans le module où elles ont été déclarées.
Cela rend beaucoup de nos macros inutilisables.
Mon soupçon est qu’il y a eu une mise à jour Microsoft qui a perturbé Excel mais je ne trouve aucune confirmation de cela en ligne. De plus, notre serveur de bureau à distance (qui n’est pas mis à jour automatiquement) exhibe le même comportement. Toute suggestion serait très appréciée.
Mise à jour : Il n’y a pas eu de mise à jour Windows récemment. C’est une très mauvaise nouvelle, car cela signifie que quelque chose, quelque part a (probablement de manière unique) mal tourné. La portée des variables devrait être une partie fondamentale d’un langage. Cela ne devrait pas être quelque chose qui peut changer. Et pourtant, ça a changé, sur tout le réseau, apparemment tout seul.