Bonjour à tous,
J'ai besoin de l'aide d'experts !
Nous avons, dans l'entreprise où je travaille, récemment installé Office 2016, "en dur".
Oui nous sommes très en retard, mais je ne suis absolument pas responsable de ce métro, qui dis-je, de cet Eurostar de retard !
C'est un marché national, avec la distribution d'un pack d'installation unique pour tous les sites de travail, après des mois de tests côté sécurité et compatibilité avec tous nos différents outils, très nombreux...
Donc en gros, on est toujours en retard et en local on ne peut presque rien personnaliser. A ce pack s'ajoutent des diffusions de KB successifs pour corriger des bogues.
La situation qu'est la mienne étant posée :
Pour faire fonctionner un outil local Excel gavé de macros VBA, il est indispensable pour moi de pouvoir activer une liste précise de "références".
Elles sont activées par macros, mais elle doivent être disponibles et donc activables au démarrage d'Excel.
Mon souci : Il me manque deux références dans ma liste "par défaut" de références activables.
- Microsoft Forms 2.0 Object Library
- Microsoft Windows Common Controls 6.0 (SP6)
Je suis donc allé chercher ce qu'il faut pour les ajouter à ma liste de références : FM20.DLL dans Windows\System32 pour ma première référence manquante, et MSCOMCTL.OCX dans Windows\SysWOW64 pour la seconde.
Je peux alors les activer et les utiliser et tout va bien dans le meilleur des mondes...
SAUF QUE si je ferme Excel, que j'enregistre ou pas le classeur où je suis aller rechercher mes références, et que je l'ouvre à nouveau, je n'ai plus mes deux références manquantes ! Donc ça ne va pas pour mon outil qui doit pouvoir les activer automatiquement (par macros)...
J'ai essayé plusieurs solutions trouvées sur le Net :
- Créer un modèle Classeur.xltx mis dans C:\Users\MONUSIERID\AppData\Roaming\Microsoft\Excel\XLSTART (j'ai même essayé au cas où avec un Classeur.xltm). Mon Excel s'ouvre bien depuis mon .xltx par défaut mais dans mes références. Et cela ne fonctionne pas du tout avec un .xltm
- utiliser regsrv32 en ligne de commande shell pour enregistrer ma DLL et mon OCX
- utiliser regsvr32 pour faire du "/u" et du "unregister" puis du "/register"
- Mettre au moins mon FM20.DLL dans les Add-In (ne fonctionne pas du tout et de toute façon je pourrai pas tenter l'ocx)
J'ai bien pensé à la base de Registre mais je n'y connais pas grand chose dans ce domaine là, et j'ai peur de faire planter mon ordi de travail si je ne suis pas sûr de ce que je fais...
Mais j'ai tout de même voulu récupérer les GUID de mes deux références, au cas où, mais là encore j'ai un souci : j'ai testé plusieurs codes VBA qui ne permettent de lister des références activées et récupérer leur GUID, mais aucune de fonctionne sur mon poste ! J'ai les titres et la macro tourne, mais aucun listage de quoi que ce soit à part les titres de colonnes ! Un lien à mon souci ?
Je connais bien ce super forum que je consulte régulièrement depuis plusieurs années pour m'aider dans mes propres développements de macros VBA.
J'ai donc appliqué deux critères essentiels à vos yeux : bien dire et bien expliqué le souci, avec précision et un maximum d'éléments... et avant toute demande d'aide : chercher par soi-même !
Mais là, je sèche vraiment, j'ai fait mon possible (ne suis pas informaticien) et j'ai besoin de vous !
Comment faire en sorte que mon Excel 2016, peu importe avec quel classeur, affiche Microsoft Forms 2.0 Object Library et Microsoft Windows Common Controls 6.0 (SP6), par défaut, dans la liste des références objets disponibles dans les projets VBA ?
Merci par avance !![]()
Partager