Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Application QUIT vs CLOSE (Erreur automation)

Xtian_Québec

XLDnaute Occasionnel
Bonjour le Forum,
J'ai un message d'erreur "Run-Time error 440 - Automation error" lorsque j'utilise la fonction Application.Quit. J'utilise le code suivant pour fermer mon fichier DERA.

Sub CloseDERA()
'Exit confirmation
If MsgBox(MsgNo(98) & Chr(13) & MsgNo(102), vbOKCancel, MsgNo(103)) = vbCancel Then
'98 - DERA sera fermé.
'102 - Êtes-vous certain de vouloir quitter DERA?
'103 - Fermeture de DERA
Exit Sub
Else
Call ResetNormalScreen
ThisWorkbook.Saved = True
If Workbooks.Count = 1 Then Application.Quit Else ThisWorkbook.Close
End If

Mon programme DERA est executé en mode plein écran. Avant de le fermer, je réinitialise l'écran en mode normal. Si un autre fichier excel est ouvert (Exemple Book1 en arrière plan de DERA), Workbooks.count sera 2 et le code exécutera ThisWorkbook.close. Avec cette action, aucun problème, DERA se ferme et je vois le fichier Book1 qui se trouvait en arrière plan.

Mon problème est avec la function QUIT. Si DERA est le seul fichier ouvert, Workbooks,count sera 1 et le code exécutera Application.Quit. En executant le code, je reçois le message d'erreur "Run-Time error 440 - Automation error"

J'ai recréé le même code dans un autre fichier Excel et je ne reçois aucun message d'erreur avec QUIT ou CLOSE...
J'ai même ajouté "On error resume next" avant le QUIT dans mon fichier original et j'ai le même problème...
Quelqu'un a une idée pourquoi j'ai cette erreur dans mon fichier original ?
J'ai fait une compilation de mon code et aucun message, tout semble conforme.

Merci pour votre aide.
Xtian_Quebec
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…