Envoyé par
heraults
Bonjour à tous
J'ai développé de longue date un ensemble de macros VBA sur Excel, faisant appel à des dll que je développe en C. Mes macros utilisent des boîtes de dialogue avec des composants assez classiques (TextBox, ComboBox, etc.).
Je dispose d'un système Windows 10 (mis à jour depuis un système d'origine en Windows 8) et d'un Excel 2016 (mis à jour depuis la version 2013 d'Excel). Ma version de VBA est la 7.1
Voilà pour l'historique
Aujourd'hui : mes macros fonctionnent parfaitement sur mon PC, mais il refuse catégoriquement de fonctionner sur d'autres PC également équipés d'Windows 10 avec Excel 2016. J'ai supposé que la présence initiale d'Excel 2013 sur mon PC avait laissé dans mon système des composants .ocx auxquels VBA fait appel pour charger certains éléments de formulaires (notamment la référence "Microsoft Windows Common Controls 6.0" était marquée manquante, or elle est nécessaire au bon fonctionnement de mes macros). Après recherche sur les forums, il était conseillé de réinstaller sur les plateformes 64bit, le composant "comctl32.ocx" (ce que j'ai fait en ligne de commande en mode administrateur, comme recommandé). Malheureusement, même si cela permet d'insérer la fameuse référence manquante, les macros plantent toujours en signalant que certains objets VBA étaient incompatibles. Par ailleurs, la compilation de mon code (toujours sur un ordo neuf qui n'a rien connu d'autre que Excel 2016) signale une foultitude d'erreurs (Notamment sur les déclarations de Function et Sub à destination des dll)
Bref, quelqu'un a-t-il déjà été confronté à cette problématique et sait-il comment rendre "compatible Excel 2016" des macros provenant de versions antérieures et qui fonctionnaient jusque là sans problème, quelles que soient la version d'Excel et de Windows ?
Merci de votre aide
St.
Partager