Répondre à la discussion

Je crois que je suis arrivé au bout du problème. Ouf ! Cette fois-ci ce n'est plus du hasard, mais un aboutissement de raisonnement.


Ayant observé que le clone n'était pas affecté, et que le père du clone restait affecté qu'il y ait ou non liaison(s) avec un ou d'autres classeurs, j'ai coupé les liaisons avec l'extérieur "du père" de façon à être certain que le problème était dû à une cause interne. Ensuite, j'ai fait tourner la macro à partir de laquelle le problème se produisait, en mettant un point d'arrêt à un endroit précis, avant l'arrêt de l'instruction suivante :         Selection.Style = StyleMonnaie


Dans la macro, cette instruction a pour rôle de rétablir un style selon que les données adéquates du contenu du classeur sont affichées soit en Franc soit en euro, selon la date du classeur. Le nom du style se trouve dans la variable StyleMonnaie, chargée au moment utile soit à partir d'une constante contenant le nom StyleEuro, soit à partir d'une autre constante contenant le nom StyleFranc. Au moment où la macro a été écrite, dans les styles de données, on disposait de  "Monétaire [2]€" et de  "Monétaire [2]". Jusque-là, rien à dire sauf que la définition de ces styles, aujourd'hui, n'a pas le même sens qu'alors. Lorsque l'exécution s'est arrêtée avant l'instruction citée, la variable StyleMonnaie contenait bien "Monétaire [2]€". Avec le débogueur j'ai exécuté  l'instruction, et j'ai vu la police Verdana 10 remplacer la police Helvetica 12. À l'aide des commandes d'Excel, j'ai examiné la définition du style Monétaire, où la police était devenu Verdana 10. Comme le but de l'instruction est avant tout d'avoir un affichage correct, j'ai remplacé  Selection.Style = StyleMonnaie par Selection.NumberFormat = StyleMonnaie où la variable StyleMonnaie contient soit  "#,##0.00"" €"";[Red]-#,##0.00"" €""", soit  "#,##0.00"" F"";[Red]-#,##0.00"" F""".


Depuis, l'exécution est correcte. Le mécanisme interne à Excel qui, sans doute, cherche la définition du style, n'est plus sollicité, que le classeur soit relié ou non à d'autres classeurs.


Ce problème m'aura causé pas mal d'effervescence intellectuelle :siffle: