Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

VBA Beug Erreur Automation Userform

2 réponses
Avatar
raphael-diaz
Bonjour, Voilà mon PROBLEME :
J’utilise Excel 2003 conformément à la norme de ma société. Le problème n’apparait pas dans Excel 2010.
J’ouvre mon fichier Excel, je lance mon userform. Pas d’erreur. J’enregistre et ferme le fichier Excel puis l’ouvre de nouveau. Je relance mon userform : l’erreur suivante apparait.

« Erreur d’exécution ‘-2147417848 (80010108)’ :
Erreur Automation
L’objet invoqué s’est déconnecté de ses clients. »

L'erreur est générée par une référence à un objet classeur qui a été détruit (ou fermé). La référence à l'objet book alors que le classeur a été détruit génère l'erreur d'exécution -2147418094 (80010012).

CAUSE POSSIBLES
1/ Après lecture de forum http://forum.hardware.fr/hfr/Programmation/VB-VBA-VBS/vb6-debug-tracking-sujet_91638_1.htm je trouve des histoires de modules MDAC/ADO OLE ou de DLL a regsvr32-iser. Je ne comprends pas bien ce que c’est ni ce que je peux faire avec ça...
2/ Le problème vient peut être du fait que lorsqu’on affiche de nouveau l'userform, le fichier Excel ou l’userform n’ont pas été correctement trouvé ou déchargé. A la fermeture de l’userform tout ses control auraient du être vidés ??
3/ Il est probable qu’une instruction ferme le fichier ou supprime l’UserForm alors que celui-ci est encore actif...
4/ Après debuggage avec MsgBox les endroits qui entrainent le beug sont :
* L'initialisation du l’Userform : UserForm_Initialize. Certains ComboBox, CheckBox et TextBox entrainent systématique le beug à la 2ème ouverture du fichier.
* La fonction sub "RecupereValeur". Après un certain stade de recherche, le code « sature ». Le début de cette « saturation mémoire » fait planter le programme et se situe au milieu des appels de la troisième page de l’userform "prestations"

SOLUTIONS ESSAYEES
* Ferme l'Userform dans le code de l'userform au lieu de le fermer dans la fonction appelante-> FAIT SANS RESULTAT
* En début de tes formulaires et des tes modules ajoute la ligne : Option Explicit-> FAIT SANS RESULTAT
* Ferme l’userform avec la fonction end et non avec la fonction unload ->FAIT SANS RESULTAT
* Regarder dans tous les livres d’autres solutions avec la recherche « Erreur Automation » -> EN COURS
* Recopier un à un les modules dans un nouveau classeur et de re-dessiner le UserForm en question car le fichier peut être corrompu -> FAIT SANS RESULTAT

2 réponses

Avatar
Gloops
raphael-diaz a écrit, le 09/03/2012 11:43 :
L'erreur est générée par une référence à un objet classeur qui a été détruit (ou
fermé). La référence à l'objet book alors que le classeur a é té détruit génère
l'erreur d'exécution -2147418094 (80010012).



Bonjour,

J'imagine que le gars qui a écrit l'application est parti ?

Parce que le meilleur moyen d'arriver à la solution serait qu'il pose l a
question dans le newsgroup microsoft.public.fr.access en citant
l'instruction qui pose problème (avec quelques lignes avant pour situer
le contexte).

Ce souci (avec différence d'une version à l'autre) ne me rappelle rie n
de précis, mais c'est sûr que sans savoir quel est le code qui plante ,
c'est encore plus dur de deviner ...

Un certain nombre d'experts Access sont partis depuis que Microsoft a
fermé son serveur, mais sauf si j'ai loupé un épisode le problème se
rencontre ici aussi. Donc la meilleure chance d'aboutir sera obtenue en
ciblant juste.
Avatar
Gloops
Gloops a écrit, le 14/03/2012 22:16 :
question dans le newsgroup microsoft.public.fr.access en citant



Ah oui, euh ... il commence à être l'heure, Papy va aller prendre ses
gouttes :)

Je voulais dire microsoft.public.fr.excel