none
LISTVIEW : "impossible de charger l'objet car il n'est pas disponible dans cette machine" RRS feed

  • Question

  • Bonjour à tous,

    J'utilise la version d'Excel 2003. J'ai développé une macro EXCEL, utilisant le contrôle "LISTVIEW" a des fins d'affichage d'une requête de recherche. Néanmoins, de temps à autres, ca bug...

    Le bug est le suivant: au chargement de l'UserForm, l'erreur "impossible de charger l'objet car il n'est pas disponible dans cette machine" apparâit. Cette erreur est bizarement propre a certains PC, et pas à d'autres.

    Je m'explique :

    J'ai essayé sur une dizaine de PC, et sur 10, deux sont touchés. Cependant, 2 sont touchés et ce par roulement... Aujourd'hui ca peut être le PC 1 et 5, demain 7 et 9, aprés demain 9 et 1, ... Bizarement, l'erreur qui apparaît sur un fichier A, n'apparaît pas sur le fichier B...

    Je n'y comprends plus rien. Quand je regarde les références, certaines sont dites "absentes" alors que présentes sur le PC malgrés tout quand je lres recherche...

    Auriez-vous une solution à me proposer par tous les hasards afin de remédier a celà? J'utilise Listview car le résultat de recherche est "beau" d'affichage avec des heads. Ce que je n'ai pas ailleurs... Surtout j'affiche environs une vaingtaines de colonnes, donc j'ai la possibilité d'afficher un menu horizontal qui fait défiler colonnes et heads.

    Merci d'avance,

    Fabrice.

    • Type modifié Aurel Bera jeudi 25 octobre 2012 07:38 Pas de reponse
    • Type modifié Fabdu57000 lundi 5 novembre 2012 06:51 Problème non résolu...
    lundi 22 octobre 2012 10:05

Réponses

  • Bonjour à tous,

    Je viens d'essayer quelque chose ce matin, qui s'avère fonctionner (fruit du hasards sans doute ?) sur les postes présentant l'erreur, et sur lesquels je suis administrateur :

    1. Aller dans "C:\WINNT\system32\" et suprimmer le fichier "MSCOMCTL.OCX"
    2. Je copie le fichier  "MSCOMCTL.OCX" depuis un poste ou il n'y a pas le message d'erreur, et je le colle sur le poste ayant subbi l'étape 1.
    3. J'ouvre l'invite de commande
    4. Je tape "cd C:\WINNT\system32\" puis "RegSvr32 MSCOMCTL.OCX"
    5. Un message m'informe que la DLL a bien été installée...
    6. Je relance le poste. Je relance EXCEL, miracle, ca fonctionne... En clair, je ne comprends pas tout là...

    Fruit du hasards ou solution miracle?

    Merci,

    Fabrice

    • Marqué comme réponse Aurel Bera lundi 5 novembre 2012 11:14
    lundi 5 novembre 2012 08:08

Toutes les réponses

  • Bonjour Fabdu5700,

    Il s'agit bien du composant 'MsComCtl.ocx' ? et donc de Office Pro ?

    Juste une idée, tes machines sont elles en réseau ? le composant se trouve t-il en local sur chaque machine ? ou seulement sur une des machines ?

    Si oui, sous quels OS ? De mémoire les connexions réseaux simultanées sous XP Pro sont limitées à 10 (5 sous XP Home). Au delà, il faut avoir une version Serveur de Windows, ou tout installer en local, ce qui au niveau maintenance n'est pas toujours simple.

    Explications plus complète à ce sujet : Limitation connexions réseau


    Cordialement, Jacques


    • Modifié Jacques93 lundi 22 octobre 2012 11:06 Ajout URL
    lundi 22 octobre 2012 10:55
  • Bonjour Fabdu5700,

    Il s'agit bien du composant 'MsComCtl.ocx' ? et donc de Office Pro ?

    Juste une idée, tes machines sont elles en réseau ? le composant se trouve t-il en local sur chaque machine ? ou seulement sur une des machines ?

    Si oui, sous quels OS ? De mémoire les connexions réseaux simultanées sous XP Pro sont limitées à 10 (5 sous XP Home). Au delà, il faut avoir une version Serveur de Windows, ou tout installer en local, ce qui au niveau maintenance n'est pas toujours simple.

    Explications plus complète à ce sujet : Limitation connexions réseau


    Cordialement, Jacques


    Bonjour,

    Le logiciel est bel et bien un EXCEL Pro, installé sur OS Windows Xp 32bits. Nous sommes en réseau.

    Concernant EXCEL, le logiciel est installé en local sur les machines (C:\Program Files\Microsoft Office\OFFICE11), et le composant en question y est présent dans ce même dossier sur chaque machine, même celles à erreur...

    Est-il possible dans le VB de mettre dans un dossier présent avec le fichier EXCEL le composant 'MsComCtl.ocx' et de pointer vers celui-ci au démarrage de la macro? Ainsi, il sera forcement dispo à chaque coup sans soucis... Enfin, si le problème viens de là...

    Merci d'avance, cette erreur m'énerve car ma macro bug a cause de ca de temps en temps...

    mardi 23 octobre 2012 06:55
  • Une des méthode pour savoir où se trouve le composant ActiveX MsComCtl.ocx est,via Excel, d'aller dans VBA, et d'afficher les contrôles supplémentaires :

    Pour moi cela indique SysWOW64 parce que je suis sous W7 64 bits. Sous XP 32 bits tu devrais avoir C:\Windows\System32\mscomctl.ocx, si c'est bien la copie 'locale' qui est utilisée.

    Le fichier mscomctl.ocx peut être présent à plusieurs endroits sur le disque local ou sur un disque réseau. Ce qui détermine celui qui est utilisé est lié à l'enregistrement de l'ActiveX par 'RegSvr32.exe' (ou une procédure d'installation). le répertoire courant ou le Path ne rentre pas en ligne de compte.

    Ceci dit, je n'ai pas de certitude sur la cause de ton problème. J'ai juste noté que si tu étais en réseau cela pouvait être limite pour le nombre de connexions.


    Cordialement, Jacques

    mardi 23 octobre 2012 07:58
  • Bonsoir,

    Sur les PC en questions, le chemin est bel et bien C:\WINNT\system32\MSCOMCTL.OCX .

    Néanmoins, je comprends pas quelque chose, ou alors EXCEL est vraiment mal fichu... Quand l'erreur apparaît, je vais dans les références, la référence "C:\WINNT\system32\MSCOMCTL.OCX" est dite non existante, cependant si je clique sur parcourir, j'arrive le trouver, ca retire le "non existant", mais la LISTVIEW ne fonctionne pas pour autant...

    Une idée ?

    Merci,

    Fabrice.


    • Modifié Fabdu57000 mercredi 24 octobre 2012 06:20
    mardi 23 octobre 2012 21:15
  • Peut être vérifier que tu as bien la même version sur tous tes postes. Pour ma part j'ai une version 6.1.98.34 du 02/05/2012 (sous XP 32 bits). Il y a eu des correctifs de sécurité sur 'Windows Common Controls' affectant entre autres Office 2003 SP3 :

        ms12-060

    Sous Access, en VBA, on avait accès a une collection 'References' permettant de savoir si l'une d'elle était manquante (IsBroken). Cette collection ne semble pas disponible sous Excel ...


    Cordialement, Jacques

    mercredi 24 octobre 2012 09:55
  • Bonjour,

    Nous changeons le type de votre question à « Discussion générale » parce que vous n’êtes pas revenu avec les informations sollicitées. Si vous avez plus de temps pour réexaminer la question et fournir plus d'informations, n'hésitez pas à modifier le type du thread à « Question ». Si le problème est résolu, s’il vous plaît partagez la solution avec nous afin que la réponse puisse être trouvée et utilisée par d'autres membres de la communauté ayant des questions similaires.

    Merci !

    Cordialement,

    Aurel


    Aurel BERA, Microsoft
    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

    jeudi 25 octobre 2012 07:38
  • Bonjour,

    Toute mes excuses de ne pas avoir répondu plus tôt, cependant j'ai eut quelques soucis personnels.

    Aprés véirifications, tous les postes que j'ai vérifié (10 environ), dont la plupart l'erreur mentionnée dans mon premier message apparaît, possèdent la même version : 11.8346.8333 SP3

    Donc là en toute franchise, je sèche complètement... Maintenant je ne sais pas si une solution autre que Listview, plus  roboste, existe afin d'afficher mes résultats de recherche dans une liste comportant des entêtes ? Au pire, est-il facile de compiler un code VBA créé sous EXCEL en applicatif ".exe", ainsi les soucis disparaitraient ?

    Merci par avance de votre aide,

    Bonne journée,

    Fabrice.

    lundi 5 novembre 2012 06:50
  • Bonjour à tous,

    Je viens d'essayer quelque chose ce matin, qui s'avère fonctionner (fruit du hasards sans doute ?) sur les postes présentant l'erreur, et sur lesquels je suis administrateur :

    1. Aller dans "C:\WINNT\system32\" et suprimmer le fichier "MSCOMCTL.OCX"
    2. Je copie le fichier  "MSCOMCTL.OCX" depuis un poste ou il n'y a pas le message d'erreur, et je le colle sur le poste ayant subbi l'étape 1.
    3. J'ouvre l'invite de commande
    4. Je tape "cd C:\WINNT\system32\" puis "RegSvr32 MSCOMCTL.OCX"
    5. Un message m'informe que la DLL a bien été installée...
    6. Je relance le poste. Je relance EXCEL, miracle, ca fonctionne... En clair, je ne comprends pas tout là...

    Fruit du hasards ou solution miracle?

    Merci,

    Fabrice

    • Marqué comme réponse Aurel Bera lundi 5 novembre 2012 11:14
    lundi 5 novembre 2012 08:08
  • Up du post
    lundi 19 novembre 2012 14:32
  • Bonjour,

    Je vous relance pour la énième fois concernant mon soucis toujours non résolu...

    Merci d'avance,

    Fabrice.

    mardi 27 novembre 2012 08:35