Edit AlainTech: Message déplacé depuis cette discussion.

Bonjour,

Je poste dans ce sujet car, même si mon problème n'est pas tout à fait similaire, il est directement lié à la fermeture d'excel par la commande application.quit

je souhaite fermer excel, en enregistrant le fichier ouvert dans la fenêtre. Jusqu'ici, pas de problème.

Malheureusement, dans l'objet Thisworkbook, j'ai une procédure beforeclose qui effectue un certain nombre d'opérations préalable à la fermeture du fichier, dont des déplacements de cellules d'une feuille à une autre, à l'aide de selection.cut, selection.copy, ActiveSheet.Paste.
Lorsque je sors d'excel en cliquant sur la croix (haut à groite de la fenêtre), le code s'exécute sans le moindre problème.
Par contre, lorsque je lance un application.quit à partir d'une macro, j'ai systématiquement une erreur 13 'incompatibilité de type'
Lorsque je demande le déboguage la macro s'est arrêtée sur la ligne "selection.cut", et une erreur "impossible d'exécuter le code en mode arrêt" apparait.
Quelqu'un a-t-il une idée de la cause de ce problème, et éventuellement une solution ?

dans Thisworkbook

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
Private Sub Workbook_BeforeClose(Cancel As Boolean)
 
test
 
End Sub
 
Private Sub Workbook_Open()
 
Derniere_Action = Now
Application.OnTime Now + TimeValue("00:01:00"), "Fin_Programmee"
 
End Sub
Sans module 1

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Sub test()
 
    Range("A1").Select
    Selection.Cut
    Range("E14").Select
    ActiveSheet.Paste
 
End Sub
 
Sub Fin_Programmee()
 
    Application.DisplayAlerts = False
    Application.Quit
 
 
End Sub