J'ai une fonction dans une XLA. La XLA est placée dans C:\Program Files (x86)\Microsoft Office\Office14\Library et activitée via Fichier / Options / Compléments / Atteindre / Crochet vis-à-vis le nom de la XLA.
Quand j'ouvre Excel, la fonction est effectivement disponible. Je fais donc référence à la fonction dans une cellule (=MaFnc(..)).
Je peux enregistrer le fichier et le réouvrir, et tout fonctionne très bien : Depuis Excel 1997, sur plus de 100 postes, et tout fonctionne. Oui oui, depuis près de 20 ans. Ça fonctionne même en réouvrant un fichier enregistré avec une version antérieure d'Excel.
Mais là, j'ai un poste sur lequel ça ne fonctionne pas. En background, Excel enregistre le lien à la XLA dans le xlsx en format 8.3 (C:\PROGRA~1\...) et non en nom long. À la réouverture d'Excel et du fichier xlsx :
- La XLA est naturellement ouverte avec le nom long comme toujours.
- La liaison à la XLA avec nom court (8.3) ne peut être ouverte parce qu'un fichier du même nom (lui-même en fait) est déjà ouvert.
- La référence à la fonction est invalide (='C:\PROGRA~1\...'!MaFnc(...))
Pourquoi la liaison est-elle enregistrée en format 8.3 sur ce ?%$&/!$?&*" de poste de travail ?
Partager