Bonsoir à tous
Suite à vos conseils judicieux concernant le problème bloquant que j'exposais ici http://www.developpez.net/forums/d16...tir-d-activex/, j'ai finalement remplacé mes ActiveX par des images de boutons et à la place des MouseMove j'utilise l'API SetTimer et son pendant KillTimer (en gros, j'agrandis la hauteur de la ligne pour afficher les boutons lorsque que je la survole avec la souris et j'affiche les info-bulles qui vont bien quand je passe au dessus de chaque bouton).
Sauf qu'au lieu d'avoir des ActiveX qui disparaissent, c'est maintenant Excel qui se plante à tour de bras (sans aucun avertissement : circulez, y'a rien à voir !) notamment dès que je passe en pas à pas.
J'ai bien essayé de faire un KillTimer au début de la procédure appelée par le Timer et de ré-exécuter un SetTimer à la fin, mais ça n'améliore guère les choses... J'en ai légèrement marre pour être franc
D'où ma première question : est-ce que SetTimer/KillTimer marchent ou est-ce que ça vient de moi / de ma config (Windows 10 64 bits / Office 2013 32 bits) ?
Second point : pourquoi est-ce que je ne réussis pas à installer un ActiveX ?
Je m'explique :
- j'ai trouvé une autre solution de timer (apparemment plus efficace / plus fiable).
- j'ai installé l'OCX via le petit programme de mimizanzan : ça a marché, sauf que la commande Regsvr32 C:\MesControleActiveX\TimerVBA.ocx me sort un message du style Échec du chargement du module [pour mémoire : je travaille sur un logiciel destiné à être distribué, et donc j'ai intérêt à automatiser l'installation au maximum)
- malgré tout j'ai réussi à définir une nouvelle référence vers TimerPourVBA ainsi qu'un objet "Dim TimerVab1 as TimerVBA" dans un module VBA (donc TimerVBA est bien reconnu)
- à l'inverse, je veux peux pas utiliser le nouveau contrôle personnalisé TimerVBA.ocx (j'ai un message "Échec lors de l'enregistrement du contrôle dans le registre" lorsque je souhaite l'enregistrer) dans une feuille Excel (si j'ai bien compris, il faut positionner au moins un de ces contrôles dans la feuille pour utiliser le timer)
Pourriez-vous m'aider, s'il vous plait ? C'est vraiment très important (et là je commence à craquer![]()
)
Un grand merci
Gilbert
PS : pour être franc, je n'ai pas (encore) obtenu de réponse sur le site où j'ai trouvé la solution qui coince, d'où mon message en parallèle ici
Partager