Ajouter la reference d'une ocx dans excel en vba

Signaler
Messages postés
4
Date d'inscription
dimanche 7 décembre 2003
Statut
Membre
Dernière intervention
31 décembre 2004
-
Messages postés
5
Date d'inscription
lundi 15 novembre 2004
Statut
Membre
Dernière intervention
8 novembre 2008
-
Bonjour,

bon voila je débute et tente de développer à titre amateur queslques applis en vb et vba, j'ai cherché pas mal sur le forum et ailleurs aussi sans trouver la réponse, donc je me permets de poser la question ici où je suis sur qu'une bonne âme saura m'aider.

J'ai fait un projet en vba qui utilise notamment le contrôle calendrier. Afin de l'utiliser, j'ai donc ajouter la référence de l'ocx correspondante dans visual basic editor (mscal.ocx).

Tout marche très bien et le projet est utilisé sur quelques Pc de l'entreprise dans laquelle je bosse, j'ai ajouté les références à la mano sur la dizaine de Pc. Mais de nombreux autres Pc vont êtres amenés à s'en servir, sans compter que quand le poste est réinstallé, la référence n'est pas tout le temps ajoutée.

J'aimerais que l'ajout de la reference puisse se faire directement depuis une macro (qui serait lancée grâce à auto_open par exemple) ou si c'est impossible par pilotage ole, seulement voila je ne sais pas comment faire. C'est tres pénible car des que quelqu'un qui n'a pas la reference à l'ocx ouvre le fichier, ca fait disparaitre le controle calendrier de la feuille et provoque donc une erreur dès l'appellation de celle-ci. Je suis donc obligé ensuite de corriger le fichier en recollant le controle.

Voila merci déjà d'avoir lu jusqu'ici, en espérant une solution (autre que remplacer le contrôle calendrier svp). Je suis en train de me demander si lancer regsvr32 mscal.ocx depuis le projet pourrais suffire, mais comme la je suis chez moi je ne peux pas tester....

2 réponses

Messages postés
4
Date d'inscription
dimanche 7 décembre 2003
Statut
Membre
Dernière intervention
31 décembre 2004

Il y a un peu d'avancement, disons que je copie puis enregistre l'ocx (simple ligne regsvr32 mscal.ocx /s) lancée depuis vba.

Le pb c'est que dès le chargement du projet, il repère que le composant n'existe pas, donc mon action arrive trop tard et le controle calendrier est supprimer de la feuille.

Ma question est donc maintenant : est-il possible de ne pas activer tout de suite une feuille au chargement du projet, ou tout du moins d'empecher excel de repérer l'absence du composant tant qu'il n'est pas utiliser???

je crois que ca s'annonce mal, je vais vais donc me débrouiller pour d'abords enregister les ocx, ensuite importer la feuille avec le controle ca sera plus simple...
Messages postés
5
Date d'inscription
lundi 15 novembre 2004
Statut
Membre
Dernière intervention
8 novembre 2008

Un peu tard mais je tombe sur vos mails. J'ai eu le même problème et je l'ai résolu en utilisant le contrôle Calendrier ( MSCAL.Calendar.7 ) qui est a priori sur tous les postes win2K ou XP avec MSOffice2000 à jour.
Si cela peut aider.
Michel