Controles VBA Supplementaires

Bonjour,

J'ai créé une UserForm en insérant un contrôle supplémentaire : "Microsoft TreeView Controle, version 5.0 (Sp2)"

Ce contrôle fonctionne parfaitement, il me permet de créer une arborescence avec mes données.

Le problème se pose quand je transmet le fichier excel à d'autres utilisateurs. La UserForm n'a plus l'objet Treeview créé.

Il ne s'agit pas d'un problème de fichier comctl32L.ocx, car tous les utilisateurs ont ce fichier. Je peux d'ailleurs pour paliers au problème leur crééer l'objet treeview.

J'ai même essayé cette commande dans le Workbook_open()

'Ajouter la référence au projet
FichierCible = "C:\Windows\System32\comctl32.ocx"
Application.VBE.ActiveVBProject.References.AddFromFile FichierCible
Shell "Regsvr32 comctl32.ocx"

Mais il m'indique "Nom de module, de projet ou de bibliothèque déjà présent."

Ce qui parait logique vu que sur ces postes j'ai comctl32.ocx et je peut créer l'objet treeview dans la userform.

Quelqu'un sait-il la méthode pour que l’intégration de l'objet treeview soit conservé lors de l'utilisation du fichier excel par d'autres personnes.

Merci

Bonjour,

sans doute dû à la "mise à jour de sécurité pour Office 2010 datée du 10 avril 2012"

Voir Problèmes connus concernant cette mise à jour de sécurité ici : http://support.microsoft.com/kb/2598039

En résumé :

recherchez sur votre disque dur les fichiers dont l'extension est « .exd » et supprimez tous les fichiers .exd qui s'y trouvent. Ces fichiers .exd seront automatiquement recréés à l'aide des nouveaux contrôles la prochaine fois que vous utiliserez VBA. Ces fichiers Extender se trouvent sous le profil d'utilisateur et éventuellement dans d'autres emplacements, tels que :

C:\documents and settings\nom_utilisateur\Application Data\Microsoft\Forms

C:\documents and settings\nom_utilisateur\AppData\Local\Temp\VBE

Ayant eu le pb, il faut parfois en plus ré-inscrire mscomctl et/ou MSComCtl2.

Voilà ce que j'avais noté à l'époque :

Réinscription au registre de mscomctl :
Ou MSComCtl2 (Microsoft Windows Common Controls-2 6.0 (SP6))
regsvr32 c:\windows\syswow64\mscomctl.ocx (si 64 bits) 
ou regsvr32 c:\windows\system32\mscomctl.ocx (si 32 bits)
Ou ?
regsvr32 C:\windows\syswow64\regsvr32 /u mscomct2.ocx (si 64 bits) 
ou regsvr32 c:\windows\system32 /u mscomct2.ocx (si 32 bits)

Mais ce fut assez difficile avec toute une série de désinscriptions (/u) et réinscriptions avant que ça ne fonctionne.

Bon amusement

eric

Ce que je n'arrive pas a comprendre, c'est pourquoi sur un autre ordinateur, le contrôle disparait quand j'ouvre le fichier excel, et il me suffit d'aller dans le vba pour rajouter l'objet treeview qui a disparu. Si je peux le rajouter c'est que la declaration du comctl32.ocx est ok.

L'article de microsoft dont tu parles ne concerne que les versions suivantes d'Office :

Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):

Microsoft Office Starter 2010

Hors pour ma part, il s'agit d'Office 2007.

J'ai déjà fouillé un peu partout sur internet, mais je ne trouve pas la réponse.

C'est exactement le même symptôme.

Mais bon, si tu ne veux pas perdre une minute le temps de rechercher et supprimer ces fichiers pour tester 'au cas ou...', libre à toi.

Continue de chercher...

eric

excuse-me eriiic

J'ai effectué le test recherche des fichiers .exd, il m'a trouvé 2 fichiers :

MSACAL.exd

RefEdit.exd

J'ai supprimé les 2 fichiers.

J'ai relancé l'appli Excel, le problème est toujours présent.

Bonjour,

J'ai un problème similaire avec l'objet progressbar et je n'ai pas de solution. J'ai aussi utilisé le code pour ajouter la référence au projet dans le Workbook_open().

Il y a des PC sur lesquels ça fonctionne et d'autres non dans ma boite.

La seule chose que j'ai remarqué c'est une version différente des Excel 2007, il y à des 12.0.6661.5000 et des 12.0.6425.1000 ; sur les plus récentes tout marche, peut-être une piste à explorer ...

Bonjour,

Je viens de vérifier ma version Excel 2007 : 12.0.6665.5003

Une version plus récente, ce qui a priori écarte une prise en charge liée à la version.

lmb19 a écrit :

Le problème se pose quand je transmet le fichier excel à d'autres utilisateurs. La UserForm n'a plus l'objet Treeview créé.

C'est sur les machines sur lesquelles ça ne marche pas qu'il faut vérifier la version, elles ont peux être des versions inférieures à la tienne.

Bonsoir,

Je n'ai toujours pas trouvé de solutions à mon problème. J'ai pourtant parcouru des tas de forums et sites.

Bonjour à tous, nous sommes bientôt en 2015 et je ne trouve pas de solution non plus à ce problème (absolument le même, ligne pour ligne), qqu'un pourrait aussi m'aider?

Avant de répondre à ma demande initiale, je voudrai préciser que j'ai une 20aines de userforms avec des tas de listview et autres contrôles. Donc le me vois mal les ouvrir une à une et ce sur chaque pc ou les utilisateurs travaillent. (+/- 20 pc's)

Rechercher des sujets similaires à "controles vba supplementaires"