App_WorkbookBeforeClose(...) ne se déclenche pas pour PERSO.XLS
2 réponses
pierreau
Bonjour,
J'espère ne m'être pas trompé de forum.
J'ai écrit, en appliquant à la lettre les modèles proposés dans l'aide
en ligne de vba, un certain nombre de procédures DANS LE CLASSEUR
PERSO.XLS :
1) Dans un module de classe (appelé EventClassModule)
-----------------------------------------------------
Public WithEvents App As Application
Private Sub App_WorkbookBeforeClose(ByVal Wb As Workbook, Cancel As Boolean)
' se déclenche, d'après l'aide, à chaque demande de fermeture d'un
' classeur
'
Stop ' qui me permet de vérifier que cette routine se déclenche bien
' pour tous les classeurs (même atpvbaen.xls, PdfMaker.xla,
' Funcres.xla !)
' sauf PERSO.XLS
... mes instructions
End Sub
2) Dans le module ThisWorkBook
------------------------------
Private Sub Workbook_Open()
Stop ' pour vérifier qu'on y passe : pas de problème
InitializeApp
End Sub
3) Dans un module "normal"
--------------------------
Dim X As New EventClassModule
Sub InitializeApp()
Stop ' pour vérifier qu'on y passe : pas de problème
Set X.App = Application
End Sub
4) Pleins de macros et de fonctions personnalisées qui fonctionnent à
merveille
Je me demande s'il n'y a pas une référence qui me manque,
mais laquelle ?
Merci d'avance au super spécialiste qui pourra me dépanner.
Henry Aubert
http://hpa.free.fr
http://iae-paris.com
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Ange Ounis
Ça m'avait échappé jusqu'ici mais il semble bien en effet qu'Excel ferme le Perso.xls sans tenir compte des événements associés à cette fermeture. Contournement possible : une "bonne vieille" procédure Auto_Close. Rajoute dans ton module "normal" :
Sub Auto_Close() 'tes instructions MsgBox ThisWorkbook.Name End Sub
---------- Ange Ounis ----------
Bonjour,
J'espère ne m'être pas trompé de forum.
J'ai écrit, en appliquant à la lettre les modèles proposés dans l'aide en ligne de vba, un certain nombre de procédures DANS LE CLASSEUR PERSO.XLS :
1) Dans un module de classe (appelé EventClassModule) -----------------------------------------------------
Public WithEvents App As Application
Private Sub App_WorkbookBeforeClose(ByVal Wb As Workbook, Cancel As Boolean)
' se déclenche, d'après l'aide, à chaque demande de fermeture d'un ' classeur ' Stop ' qui me permet de vérifier que cette routine se déclenche bien ' pour tous les classeurs (même atpvbaen.xls, PdfMaker.xla, ' Funcres.xla !) ' sauf PERSO.XLS
.... mes instructions
End Sub
2) Dans le module ThisWorkBook ------------------------------
Private Sub Workbook_Open() Stop ' pour vérifier qu'on y passe : pas de problème InitializeApp End Sub
3) Dans un module "normal" --------------------------
Dim X As New EventClassModule Sub InitializeApp() Stop ' pour vérifier qu'on y passe : pas de problème Set X.App = Application End Sub
4) Pleins de macros et de fonctions personnalisées qui fonctionnent à merveille
Je me demande s'il n'y a pas une référence qui me manque, mais laquelle ? Merci d'avance au super spécialiste qui pourra me dépanner.
Henry Aubert http://hpa.free.fr http://iae-paris.com
Ça m'avait échappé jusqu'ici mais il semble bien en effet qu'Excel ferme le
Perso.xls sans tenir compte des événements associés à cette fermeture.
Contournement possible : une "bonne vieille" procédure Auto_Close.
Rajoute dans ton module "normal" :
Sub Auto_Close()
'tes instructions
MsgBox ThisWorkbook.Name
End Sub
----------
Ange Ounis
----------
Bonjour,
J'espère ne m'être pas trompé de forum.
J'ai écrit, en appliquant à la lettre les modèles proposés dans l'aide
en ligne de vba, un certain nombre de procédures DANS LE CLASSEUR
PERSO.XLS :
1) Dans un module de classe (appelé EventClassModule)
-----------------------------------------------------
Public WithEvents App As Application
Private Sub App_WorkbookBeforeClose(ByVal Wb As Workbook, Cancel As
Boolean)
' se déclenche, d'après l'aide, à chaque demande de fermeture d'un
' classeur
'
Stop ' qui me permet de vérifier que cette routine se déclenche bien
' pour tous les classeurs (même atpvbaen.xls, PdfMaker.xla,
' Funcres.xla !)
' sauf PERSO.XLS
.... mes instructions
End Sub
2) Dans le module ThisWorkBook
------------------------------
Private Sub Workbook_Open()
Stop ' pour vérifier qu'on y passe : pas de problème
InitializeApp
End Sub
3) Dans un module "normal"
--------------------------
Dim X As New EventClassModule
Sub InitializeApp()
Stop ' pour vérifier qu'on y passe : pas de problème
Set X.App = Application
End Sub
4) Pleins de macros et de fonctions personnalisées qui fonctionnent à
merveille
Je me demande s'il n'y a pas une référence qui me manque,
mais laquelle ?
Merci d'avance au super spécialiste qui pourra me dépanner.
Henry Aubert
http://hpa.free.fr
http://iae-paris.com
Ça m'avait échappé jusqu'ici mais il semble bien en effet qu'Excel ferme le Perso.xls sans tenir compte des événements associés à cette fermeture. Contournement possible : une "bonne vieille" procédure Auto_Close. Rajoute dans ton module "normal" :
Sub Auto_Close() 'tes instructions MsgBox ThisWorkbook.Name End Sub
---------- Ange Ounis ----------
Bonjour,
J'espère ne m'être pas trompé de forum.
J'ai écrit, en appliquant à la lettre les modèles proposés dans l'aide en ligne de vba, un certain nombre de procédures DANS LE CLASSEUR PERSO.XLS :
1) Dans un module de classe (appelé EventClassModule) -----------------------------------------------------
Public WithEvents App As Application
Private Sub App_WorkbookBeforeClose(ByVal Wb As Workbook, Cancel As Boolean)
' se déclenche, d'après l'aide, à chaque demande de fermeture d'un ' classeur ' Stop ' qui me permet de vérifier que cette routine se déclenche bien ' pour tous les classeurs (même atpvbaen.xls, PdfMaker.xla, ' Funcres.xla !) ' sauf PERSO.XLS
.... mes instructions
End Sub
2) Dans le module ThisWorkBook ------------------------------
Private Sub Workbook_Open() Stop ' pour vérifier qu'on y passe : pas de problème InitializeApp End Sub
3) Dans un module "normal" --------------------------
Dim X As New EventClassModule Sub InitializeApp() Stop ' pour vérifier qu'on y passe : pas de problème Set X.App = Application End Sub
4) Pleins de macros et de fonctions personnalisées qui fonctionnent à merveille
Je me demande s'il n'y a pas une référence qui me manque, mais laquelle ? Merci d'avance au super spécialiste qui pourra me dépanner.
Henry Aubert http://hpa.free.fr http://iae-paris.com
pierreau
Ah ! Merci ! Maintenant que je suis rassuré, je puis affirmer que ça marchait dans les versions antérieures d'Excel. (Ca me permet de faire une sauvegarde systématique des classeurs sur une liste de disques que j'ai dans la bas de registre, en particulier sur une clé USB qui fait la liaison entre domicile et boulot, et en particulier de perso.xls, dans lequel je ne cesse d'améliorer de nombreuses macros et fonctions)
Y a'il une page chez Microsoft où signaler ce que je considère comme un bug ?
Bien cordialement.
Henry Aubert
Ça m'avait échappé jusqu'ici mais il semble bien en effet qu'Excel ferme le Perso.xls sans tenir compte des événements associés à cette fermeture. Contournement possible : une "bonne vieille" procédure Auto_Close. Rajoute dans ton module "normal" :
Sub Auto_Close() 'tes instructions MsgBox ThisWorkbook.Name End Sub
---------- Ange Ounis ----------
Bonjour,
J'espère ne m'être pas trompé de forum.
J'ai écrit, en appliquant à la lettre les modèles proposés dans l'aide en ligne de vba, un certain nombre de procédures DANS LE CLASSEUR PERSO.XLS :
1) Dans un module de classe (appelé EventClassModule) -----------------------------------------------------
Public WithEvents App As Application
Private Sub App_WorkbookBeforeClose(ByVal Wb As Workbook, Cancel As Boolean)
' se déclenche, d'après l'aide, à chaque demande de fermeture d'un ' classeur ' Stop ' qui me permet de vérifier que cette routine se déclenche bien ' pour tous les classeurs (même atpvbaen.xls, PdfMaker.xla, ' Funcres.xla !) ' sauf PERSO.XLS
.... mes instructions
End Sub
2) Dans le module ThisWorkBook ------------------------------
Private Sub Workbook_Open() Stop ' pour vérifier qu'on y passe : pas de problème InitializeApp End Sub
3) Dans un module "normal" --------------------------
Dim X As New EventClassModule Sub InitializeApp() Stop ' pour vérifier qu'on y passe : pas de problème Set X.App = Application End Sub
4) Pleins de macros et de fonctions personnalisées qui fonctionnent à merveille
Je me demande s'il n'y a pas une référence qui me manque, mais laquelle ? Merci d'avance au super spécialiste qui pourra me dépanner.
Henry Aubert http://hpa.free.fr http://iae-paris.com
Ah ! Merci !
Maintenant que je suis rassuré, je puis affirmer que ça marchait dans
les versions antérieures d'Excel. (Ca me permet de faire une sauvegarde
systématique des classeurs sur une liste de disques que j'ai dans la bas
de registre, en particulier sur une clé USB qui fait la liaison entre
domicile et boulot, et en particulier de perso.xls, dans lequel je ne
cesse d'améliorer de nombreuses macros et fonctions)
Y a'il une page chez Microsoft où signaler ce que je considère comme un
bug ?
Bien cordialement.
Henry Aubert
Ça m'avait échappé jusqu'ici mais il semble bien en effet qu'Excel ferme
le Perso.xls sans tenir compte des événements associés à cette fermeture.
Contournement possible : une "bonne vieille" procédure Auto_Close.
Rajoute dans ton module "normal" :
Sub Auto_Close()
'tes instructions
MsgBox ThisWorkbook.Name
End Sub
----------
Ange Ounis
----------
Bonjour,
J'espère ne m'être pas trompé de forum.
J'ai écrit, en appliquant à la lettre les modèles proposés dans l'aide
en ligne de vba, un certain nombre de procédures DANS LE CLASSEUR
PERSO.XLS :
1) Dans un module de classe (appelé EventClassModule)
-----------------------------------------------------
Public WithEvents App As Application
Private Sub App_WorkbookBeforeClose(ByVal Wb As Workbook, Cancel As
Boolean)
' se déclenche, d'après l'aide, à chaque demande de fermeture d'un
' classeur
'
Stop ' qui me permet de vérifier que cette routine se déclenche bien
' pour tous les classeurs (même atpvbaen.xls, PdfMaker.xla,
' Funcres.xla !)
' sauf PERSO.XLS
.... mes instructions
End Sub
2) Dans le module ThisWorkBook
------------------------------
Private Sub Workbook_Open()
Stop ' pour vérifier qu'on y passe : pas de problème
InitializeApp
End Sub
3) Dans un module "normal"
--------------------------
Dim X As New EventClassModule
Sub InitializeApp()
Stop ' pour vérifier qu'on y passe : pas de problème
Set X.App = Application
End Sub
4) Pleins de macros et de fonctions personnalisées qui fonctionnent à
merveille
Je me demande s'il n'y a pas une référence qui me manque,
mais laquelle ?
Merci d'avance au super spécialiste qui pourra me dépanner.
Henry Aubert
http://hpa.free.fr
http://iae-paris.com
Ah ! Merci ! Maintenant que je suis rassuré, je puis affirmer que ça marchait dans les versions antérieures d'Excel. (Ca me permet de faire une sauvegarde systématique des classeurs sur une liste de disques que j'ai dans la bas de registre, en particulier sur une clé USB qui fait la liaison entre domicile et boulot, et en particulier de perso.xls, dans lequel je ne cesse d'améliorer de nombreuses macros et fonctions)
Y a'il une page chez Microsoft où signaler ce que je considère comme un bug ?
Bien cordialement.
Henry Aubert
Ça m'avait échappé jusqu'ici mais il semble bien en effet qu'Excel ferme le Perso.xls sans tenir compte des événements associés à cette fermeture. Contournement possible : une "bonne vieille" procédure Auto_Close. Rajoute dans ton module "normal" :
Sub Auto_Close() 'tes instructions MsgBox ThisWorkbook.Name End Sub
---------- Ange Ounis ----------
Bonjour,
J'espère ne m'être pas trompé de forum.
J'ai écrit, en appliquant à la lettre les modèles proposés dans l'aide en ligne de vba, un certain nombre de procédures DANS LE CLASSEUR PERSO.XLS :
1) Dans un module de classe (appelé EventClassModule) -----------------------------------------------------
Public WithEvents App As Application
Private Sub App_WorkbookBeforeClose(ByVal Wb As Workbook, Cancel As Boolean)
' se déclenche, d'après l'aide, à chaque demande de fermeture d'un ' classeur ' Stop ' qui me permet de vérifier que cette routine se déclenche bien ' pour tous les classeurs (même atpvbaen.xls, PdfMaker.xla, ' Funcres.xla !) ' sauf PERSO.XLS
.... mes instructions
End Sub
2) Dans le module ThisWorkBook ------------------------------
Private Sub Workbook_Open() Stop ' pour vérifier qu'on y passe : pas de problème InitializeApp End Sub
3) Dans un module "normal" --------------------------
Dim X As New EventClassModule Sub InitializeApp() Stop ' pour vérifier qu'on y passe : pas de problème Set X.App = Application End Sub
4) Pleins de macros et de fonctions personnalisées qui fonctionnent à merveille
Je me demande s'il n'y a pas une référence qui me manque, mais laquelle ? Merci d'avance au super spécialiste qui pourra me dépanner.
Henry Aubert http://hpa.free.fr http://iae-paris.com