Procédure événementielle dans les macros personnelles.
3 réponses
René Delcourt
Bonjour,
Peut-on créer, dans perso.xls, une procédure évenementielle sur un fichier
excel identifié (à la fermeture par exemple)?
Si oui, comment fait-on puisque le menu déroulant en haut du code ne propose
que Général et non Workbook?
Merci de votre réponse
--
René Delcourt
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
JLuc
*Bonjour René Delcourt*, Les procedures evenementielles SONT dans chaque classeur. Donc a la fermeture du dit classeur seule la procédure Workbook_Beforeclose(Cancel As Boolean) du classeur fermé sera appelée Fais un tour ici : http://xlwiki.free.fr/wiki/wakka.php?wiki=EvenementsExcel
Bonjour,
Peut-on créer, dans perso.xls, une procédure évenementielle sur un fichier excel identifié (à la fermeture par exemple)? Si oui, comment fait-on puisque le menu déroulant en haut du code ne propose que Général et non Workbook? Merci de votre réponse
-- ____ ( O | O ) -- _oooO_ JLuc _Oooo_
O-O
*Bonjour René Delcourt*,
Les procedures evenementielles SONT dans chaque classeur. Donc a la
fermeture du dit classeur seule la procédure
Workbook_Beforeclose(Cancel As Boolean) du classeur fermé sera appelée
Fais un tour ici :
http://xlwiki.free.fr/wiki/wakka.php?wiki=EvenementsExcel
Bonjour,
Peut-on créer, dans perso.xls, une procédure évenementielle sur un fichier
excel identifié (à la fermeture par exemple)?
Si oui, comment fait-on puisque le menu déroulant en haut du code ne propose
que Général et non Workbook?
Merci de votre réponse
*Bonjour René Delcourt*, Les procedures evenementielles SONT dans chaque classeur. Donc a la fermeture du dit classeur seule la procédure Workbook_Beforeclose(Cancel As Boolean) du classeur fermé sera appelée Fais un tour ici : http://xlwiki.free.fr/wiki/wakka.php?wiki=EvenementsExcel
Bonjour,
Peut-on créer, dans perso.xls, une procédure évenementielle sur un fichier excel identifié (à la fermeture par exemple)? Si oui, comment fait-on puisque le menu déroulant en haut du code ne propose que Général et non Workbook? Merci de votre réponse
-- ____ ( O | O ) -- _oooO_ JLuc _Oooo_
O-O
Ardus Petus
Dans Perso.xls: Alt-F11 pour passer dans VBE Click droit sur VBAProject (Perso.xls) Insertion>Module de classe Ouvrir la fenêtre propriétés: (F4) Changer la propriété name: Class1 ->AppEventClass Coller le code suivant '---------- Public WithEvents App As Excel.Application
Private Sub Class_Initialize() Set App = Application End Sub
Private Sub App_WorkbookBeforeClose(ByVal Wb As Workbook, Cancel As Boolean) MsgBox "Closing " & Wb.Name End Sub '---------- Dans le module ThisWorkbook, coller le code suivant '---------- Dim AppInstance As AppEventClass
Private Sub Workbook_Open() Set AppInstance = New AppEventClass End Sub '-----------
Modifier le code de Sub App_WorkbookBeforeClose dans le module AppEventClass selon tes besoins
Et voilà!
Cordialement, -- AP
"René Delcourt" <rddans le module a écrit dans le message de news:
Bonjour,
Peut-on créer, dans perso.xls, une procédure évenementielle sur un fichier excel identifié (à la fermeture par exemple)? Si oui, comment fait-on puisque le menu déroulant en haut du code ne propose
que Général et non Workbook? Merci de votre réponse -- René Delcourt
Dans Perso.xls:
Alt-F11 pour passer dans VBE
Click droit sur VBAProject (Perso.xls)
Insertion>Module de classe
Ouvrir la fenêtre propriétés: (F4)
Changer la propriété name: Class1 ->AppEventClass
Coller le code suivant
'----------
Public WithEvents App As Excel.Application
Private Sub Class_Initialize()
Set App = Application
End Sub
Private Sub App_WorkbookBeforeClose(ByVal Wb As Workbook, Cancel As Boolean)
MsgBox "Closing " & Wb.Name
End Sub
'----------
Dans le module ThisWorkbook, coller le code suivant
'----------
Dim AppInstance As AppEventClass
Private Sub Workbook_Open()
Set AppInstance = New AppEventClass
End Sub
'-----------
Modifier le code de Sub App_WorkbookBeforeClose dans le module AppEventClass
selon tes besoins
Et voilà!
Cordialement,
--
AP
"René Delcourt" <rddans le module e@intras.ch> a écrit dans le message de
news:77265DE7-6C4C-4BCC-B327-20F1D70249F3@microsoft.com...
Bonjour,
Peut-on créer, dans perso.xls, une procédure évenementielle sur un fichier
excel identifié (à la fermeture par exemple)?
Si oui, comment fait-on puisque le menu déroulant en haut du code ne
propose
que Général et non Workbook?
Merci de votre réponse
--
René Delcourt
Dans Perso.xls: Alt-F11 pour passer dans VBE Click droit sur VBAProject (Perso.xls) Insertion>Module de classe Ouvrir la fenêtre propriétés: (F4) Changer la propriété name: Class1 ->AppEventClass Coller le code suivant '---------- Public WithEvents App As Excel.Application
Private Sub Class_Initialize() Set App = Application End Sub
Private Sub App_WorkbookBeforeClose(ByVal Wb As Workbook, Cancel As Boolean) MsgBox "Closing " & Wb.Name End Sub '---------- Dans le module ThisWorkbook, coller le code suivant '---------- Dim AppInstance As AppEventClass
Private Sub Workbook_Open() Set AppInstance = New AppEventClass End Sub '-----------
Modifier le code de Sub App_WorkbookBeforeClose dans le module AppEventClass selon tes besoins
Et voilà!
Cordialement, -- AP
"René Delcourt" <rddans le module a écrit dans le message de news:
Bonjour,
Peut-on créer, dans perso.xls, une procédure évenementielle sur un fichier excel identifié (à la fermeture par exemple)? Si oui, comment fait-on puisque le menu déroulant en haut du code ne propose
que Général et non Workbook? Merci de votre réponse -- René Delcourt
JLuc
Si oui, comment fait-on puisque le menu déroulant en haut du code ne propose que Général et non Workbook?
Dans Vba, il suffit de doublecliquer sur le ThisWorkbook de ton classeur (fenetre de projet) En general, quand tu lance vba par AltF11 tu est placé sur le code de "perso.xls" mais ton classeur apparait quand meme dans la fenetre "Projets"
-- ____ ( O | O ) -- _oooO_ JLuc _Oooo_
O-O
Si oui, comment fait-on puisque le menu déroulant en haut du code ne
propose que Général et non Workbook?
Dans Vba, il suffit de doublecliquer sur le ThisWorkbook de ton
classeur (fenetre de projet) En general, quand tu lance vba par AltF11
tu est placé sur le code de "perso.xls" mais ton classeur apparait
quand meme dans la fenetre "Projets"
Si oui, comment fait-on puisque le menu déroulant en haut du code ne propose que Général et non Workbook?
Dans Vba, il suffit de doublecliquer sur le ThisWorkbook de ton classeur (fenetre de projet) En general, quand tu lance vba par AltF11 tu est placé sur le code de "perso.xls" mais ton classeur apparait quand meme dans la fenetre "Projets"