Beug Excel VBA "Erreur Automation"

raphael.diaz

XLDnaute Nouveau
Bonjour, Si vous avez un peu de temps pour lire ce mail et y répondre cela pourrait beaucoup m'aider :D :

PROBLEME
J’utilise Excel 2003. 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).
:confused:
CAUSE POSSIBLES
1/ Après lecture de forum Debug & Tracking "erreur automation" [VB6] - VB/VBA/VBS - Programmation - FORUM HardWare.fr et de l’explication Microsoft INFO*: Traduction des erreurs Automation pour VB/VBA (texte) 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 les controls 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/ Je récupère les titres de la colonne A et enregistre leurs numéros de ligne. Je transmets dans mes Boxs les valeurs de la colonne B liées à lignes recherchée. Dans le programme que je vous envoi il n'y a pas de beug. Voici cependant les endroits qui provoquent le beug. Après debuggage avec MsgBox (car le beug ne survient pas quand Visual Basic Editor est ouvert) les lignes sont :
* L'initialisation du l’Userform : UserForm_Initialize. Certains ComboBox, CheckBox et TextBox entrainent systématique le beug à la 2ème ouverture du fichier. C'est peut être un effet de bord.
* Une de mes fonctions sub "RecupereValeur" entraine après un certain stade d'initialisation le beug, le code, je pense, « sature ». Le début du beug se situe après un certains nombres d'appels de la fonction FuncSauvIHM1
:confused:
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 des formulaires et des modules ajouter 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 Excel des solutions avec la recherche « Erreur Automation » -> EN COURS
* Recopier les modules dans un nouveau classeur et de re-dessiner l'UserForm car le fichier peut-être corrompu -> PREFERE EVITER

PS : En pièce jointe un programme VBA proche du mien même si il est beaucoup plus simplifié et lui ne beug pas :eek: Merci d'avance
 

Pièces jointes

  • Classeur1.xls
    69.5 KB · Affichages: 159
  • Classeur1.xls
    69.5 KB · Affichages: 133
  • Classeur1.xls
    69.5 KB · Affichages: 142

Pierrot93

XLDnaute Barbatruc
Re : Beug Excel VBA "Erreur Automation"

Bonjour,

A tout hasard, petite remarque au passage, regarde peut être dans les références s'il y en a pas une de manquante... dans l'éditeur vba => barre de menu => outils => références, si une est topée "MANQUANTE" décochel la...

bon après midi
@+
 

Discussions similaires

Réponses
2
Affichages
263
Réponses
2
Affichages
226
Réponses
27
Affichages
645

Membres actuellement en ligne

Statistiques des forums

Discussions
313 276
Messages
2 096 760
Membres
106 744
dernier inscrit
sshkm16