Impossible charger l'objet
Maurice -
j'ai deux applications développées avec vba excel qui fonctionnent parfaitement sous excel 2003 avec win xp .
Quand je passe sous excel 2007 sur mon portable windows 8.1 64 bits
l'une fonctionne parfaitement
quant à l'autre je ne peux pas y entrer j'ai immédiatement le message suivant
dès que je la lance.
"impossible charger l'objet car il n'est pas disponible sur cette machine"
Pouvez vous m'aider à résoudre ce problème
merci
44 réponses
- 1
- 2
- 3
Le message d'erreur "impossible charger l'objet car il n'est pas disponible sur cette machine" apparaît lorsque des contrôles ActiveX utilisés par des formulaires VBA ne sont pas accessibles sur Windows 8.1 64 bits, notamment le ListView lié aux Windows Common Controls.
Le diagnostic courant pointe vers l’absence ou le mauvais registre du composant Microsoft Windows Common Controls 6.0 (SP6) (MSCOMCTL.OCX) ou des références obsolètes dans le projet.
Les solutions évoquées incluent la réinstallation ou la réparation de MSCOMCTL.OCX, l’application des mises à jour Office via Windows Update et l’exécution du diagnostic Office pour réparer le contrôle problématique.
Dans certains cas, la compatibilité des appels API déclarés dans le code (Public Declare Function) avec un environnement 64 bits peut nécessiter une adaptation.
-
Bonjour,
Pouvez-vous préciser à quel moment précis apparait le message ?
Utilisez-vous des formulaires (UserForm) dans votre application ?
-
Bonjour,
Tu n'aurais pas une listview dans celle qui ne fonctionne pas ?
Si c'est le cas il faut cocher Common Controls Visual Basic 6.0 (mscomctl.ocx) dans les références. -
Bonjour Le Pingou et gbinforme
pour Le Pingou
oui il y a des userforms et cela ce produit lorsque j'essaie d'ouvrir
l'application: j'ouvre excel j'autorise les macros et immédiatement après
j'ai ce message pour l'une et pas pour l'autre
Pour rejoindre gbinforme effectivement dans l'une, celle qui fonctionne, il n'y a pas de listview et dans l'autre il y en a.
et je ne trouve pas le fichier mscomctl.ocx -
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
ok j'ai trouvé et dans la liste des références disponibles j'ai 3 fois
Visual Basic For Applications non cochées
et je n'ai pas Common Controls Visual Basic 6.0 dans cette liste -
dans les contrôles supplémentaires la case Microsoft Listview Control version 6.0 est bien cochée
Mais je m'apercois qu'après avoir cliqué plusieurs fois (5 ou 6 fois) sur le message d'erreur j'obtiens le menu principal de mon Userform
Peut être une piste ?-
Pour que cela fonctionne, il faut absolument que la référence Common Controls Visual Basic 6.0 soit cochée sinon tu ne peux pas afficher la listview.
je ne trouve pas le fichier mscomctl.ocx
Tu devrais en 64 bits le trouver dans C:\Windows\SysWOW64\MSCOMCTL.OCX
C'est dans ce module que se trouve cette référence.
Comme souvent en windows, c'est mieux de modifier les paramètres et redémarrer. -
voilà je l'ai effectivement retrouvé
il date du 13/03/2001 version 6 00 8892
la case Microsoft Listview Control version 6.0 est bien cochée
que puis je faire avec maintenant ?
j'ai créé un userform bidon pour inserer le listview de la boite à outils
et j'obtiens le message suivant
classfactory ne peut pas fournir la classe demandée -
il date du 13/03/2001 : pas à jour le mien est du 31/3/2014 mais ce n'est pas nécessairement ce qui bloque.
Essayes Bouton Office/Options/Ressources/Exécuter le diagnostic Microsoft Office
C'est un peu long mais tu verras ainsi si excel a un souci avec ce contrôle et s'il te le répare ou te demande une intervention, après on avisera. -
-
c'est fini.
diag mémoire ok
diag compatibilité ok
diag disque ok
diag installation
1 problème identifié
diag ayant entrepris des actions corrective 1
j'ai ensuite fermé et ai relancé excel et tenté d'ouvrir mon fichier
et toujours la même chanson
impossible de charger le objet car il n'est pas disponible sur cette
machine
-
-
Bonjour,
Juste au passage, vous devriez contrôler que les mêmes bibliothèques de référence activé sur le PC ou l'application fonctionne soient activées sur celui qui pose problème.
-
-
Bonjour gbinforme
j'ai recommencé la manip ce matin. je n'ai plus de fichier à enregistrer
j'ai bien la fenêtre telle que tu la présentes avec microsoft windows common controls 6.0 (SP6) sous les yeux disponible.
Donc maintenant je clique sur OK
je reviens sur le menu microsoft visual basic - classeur 1
je ferme pour revenir sur la feuille excel
je clique sur le bouton office. j'ouvre le fichier excel de mon application. j'active les macros et j'ai à nouveau le message
"Impossible de charger l'objet ......."
quand je reviens sur la fenêtre Références disponibles j'ai :
manquant: microsofts windows common controls cochée
deux lignes plus bas j'ai bien :
Microsofts windows common controls 6.0 (sp6) non cochée
et plus bas encore
non enregistré : vbaproject -
Bonjour,
Juste au passage, vous avez bien réalisé la proposition de gbinforme en ayant ouvert le classeur concernée (celui qui vous pose problème) Oui Non !
-
Bonjour Le Pingou
et pour gbinforme
Oui j'ai bien ouvert le classeur concerné.
Suite à mon commentaire précédent
j'ai décoché la ligne manquant
j'ai coché la ligne Microsofts windows common controls 6.0 (sp6) qui était non cochée.
je suis ressorti. Ai relancé mon application.
Maintenant j'ai parfaitement le menu de mon userform.
Mais lorsque je clique sur l'un des boutons de ce menu
j'ai le message suivant
erreur d'execution 424
objet requis
et cela correspond à chaque fois à une ligne concernant ListView
Pour confirmer : je suis totalement ressorti en refermant le pc.
je me suis reconnecté. Ai relancé mon application j'ai parfaitement obtenu le menu de mon userform et le même message d'erreur en cliquant sur l'un des boutons de ce menu
dans ce même menu lorsque je clique sur un bouton ne faisant pas appel à la Listview, j'ouvre ce bouton sans problème.-
- lorsque je suis sur le userform j'ai le message d'erreur qui s'affiche.
Ensuite je clique sur Débogage
j'ai le code qui s'affiche avec la flêche jaune et la ligne de code sur fond jaune
correspondant à la ligne erronée
par exemple sur un bouton
With ListView1
with .ColumnHeaders - cette ligne s'affiche sur fond jaune
autre exemple avec un autre bouton
Private sub userform_activate()
ListView.ControlTipText = "Cliquer une fois sur la ligne à supprimer" - cette ligne
s'affiche sur fond jaune
- lorsque je fais controle/r j'ai la boite à objets et aucune listview visible dans les userforms
-
-
Bonjour,
Serait-il possible d'avoir le fichier pour voir si l'erreur se produit aussi sur un autre PC... ?
-
je suis complétement désespéré. je reviens sur mon portable que j'avais éteint tout à l'heure. Je lance mon application. et j'ai à nouveau à nouveau le message impossible de charger l'objet car il n'est pas disponible sur cette machine.
je me remets sur excel fait alt/f11 pour avoir l'éditeur vba
je regarde la fenêtre references et Microsoft Windows Common Contrôles a disparu.
je regarde via la boite des objets et dans references j'ai manquant: Microsoft Windows Common Controls ...
ci joint mon fichier . il fonctionne très bien sur ce pc avec excel 2003
windows xp
https://www.cjoint.com/?0CsrAYmmOjU -
Bonjour,
Dans un premier temps, vous ouvrez votre classeur (le formulaire d'accueil doit être fermé) puis la touche Alt +F11 (accès à l'éditeur VBA). Ensuite vous contrôler dans la boite d'outil que le contrôle [ListView] soit présent, si non alors clic droit et clic Contrôles supplémentaires, chercher dans la liste et cocher puis OK.

-
Bonjour,
Eh bien, avez-vous réalisé ce que je vous ai demandé Oui Non... !
-
Bonsoir Le Pingou
je suis sur Classeur1 - Microsoft Excel
je fais alt/f11 je suis sur Microsoft Visual Basic - Classeur 1
je clique sur ajouter un formulaire
je regarde la boite à outils
listview figure bien dans cette boite
je veux créér une listview dans le formulaire
je recois le message suivant :
classfactory ne peut pas fournir la classe demandée
je regarde dans Références disponibles
"Microsofts windows common controls 6.0 (sp6)" n'y est pas"
est ce bien cette manip que je devais effectuée ? -
Bonjour,
Merci d'essayer avec le classeur en version 2007 ci-joint : https://www.cjoint.com/?3CtjSnnFiCW
-
Bonjour Le Pingou - gb informe
Le pingou - j'ai essayé avec le fichier joint : message d'erreur
Impossible de charger le objet ...."
j'ai ouvert le classeur clefgestionstocksave.xls qui pose problème
j'ai bien listview dans la boite à outils et dans les références
disponibles.
je suis en mode création sur ce userform. quand je veux inclure une listview dans le userform j'ai le message d'erreur "Classfactory ne peut pas fournir la classe demandée"
je vais voir du côté des mises à jour et vous tiens informés -
Bonjour,
Merci pour l'information.
Toutefois si après la mise à jour selon gbinforme le problème n'est pas résolu, vous pouvez réaliser une réparation de MSO 2007 comme suit : Ouvrir le panneau de configuration / Programme / chercher Microsoft Office ....2007 et clic sur modifier (réparer)...
-
j'ai fait les mises à jour via windows update.
problème non résolu
en bas à gauche de la fenêtre windows update
j'ai Ajouter des fonctionnalités à windows 8.1
est ce que ces nouvelles fonctionalités pourraient me dépanner ?
- 1
- 2
- 3
