OVH Cloud OVH Cloud

Evenement et création de classeur

4 réponses
Avatar
John Fuss
Bonjour à ts,

je créé un classeur comme suit :

Dim wb as string
wb = Workbooks.add.name

est-ce que je peux intercepter l'evenement before_Close du classeur wb ?

Merci

John

4 réponses

Avatar
Emcy
Salut,

je pense qu'en utilisant les modules de classes tu peux
faire ce que tu recherche

J'ai fait des classeurs qui expliquent comment les
utiliser :
http://www.excel-
downloads.com/html/French/fichiers/programmation-date_maj-
1.htm




-----Message d'origine-----
Bonjour à ts,

je créé un classeur comme suit :

Dim wb as string
wb = Workbooks.add.name

est-ce que je peux intercepter l'evenement before_Close
du classeur wb ?


Merci

John


.



Avatar
John Fuss
Nickel, merci bcp

dim Appli as cMyApp 'dans un module ou dans ThisWorkbook

et

Set Appli.MyApp = Application 'Dans mon ThisWorkbook.Workbook_Open



Dans un module de classe :

Option Explicit
Public WithEvents MyApp As Application

Private Sub MyApp_WorkbookBeforeClose(ByVal Wb As Workbook, Cancel As
Boolean)
'Mon traitement
End Sub


"Emcy" a écrit dans le message de
news:0dc401c3a9de$ca611620$
Salut,

je pense qu'en utilisant les modules de classes tu peux
faire ce que tu recherche

J'ai fait des classeurs qui expliquent comment les
utiliser :
http://www.excel-
downloads.com/html/French/fichiers/programmation-date_maj-
1.htm




-----Message d'origine-----
Bonjour à ts,

je créé un classeur comme suit :

Dim wb as string
wb = Workbooks.add.name

est-ce que je peux intercepter l'evenement before_Close
du classeur wb ?


Merci

John


.



Avatar
Denis Michon
Bonjour John,


Voici un exemple comment faire :

'-----------------------------------
Sub CréerClasseur()

Dim Wk As Workbook, Code As String

'Tu écris ta macro dans la variable "Code"
Code = "Private Sub Workbook_BeforeClose(Cancel As Boolean)" & vbCrLf
Code = Code & "Msgbox ""Bonjour""" & vbCrLf
Code = Code & "End Sub"

'Tu crées ton classeur
Set Wk = Workbooks.Add

'Tu insères le code de la procédure dans ton classeur.
With Wk.VBProject.VBComponents("ThisWorkbook").CodeModule
.AddFromString Code
End With

Set Wk = Nothing

End Sub
'-----------------------------------


Salutations!



"John Fuss" a écrit dans le message de news:bovqoa$f8v$
Bonjour à ts,

je créé un classeur comme suit :

Dim wb as string
wb = Workbooks.add.name

est-ce que je peux intercepter l'evenement before_Close du classeur wb ?

Merci

John
Avatar
John Fuss
C'est royal ça !!! Merci bcp.

John

"Denis Michon" a écrit dans le message de
news:PVUsb.32622$
Bonjour John,


Voici un exemple comment faire :

'-----------------------------------
Sub CréerClasseur()

Dim Wk As Workbook, Code As String

'Tu écris ta macro dans la variable "Code"
Code = "Private Sub Workbook_BeforeClose(Cancel As Boolean)" & vbCrLf
Code = Code & "Msgbox ""Bonjour""" & vbCrLf
Code = Code & "End Sub"

'Tu crées ton classeur
Set Wk = Workbooks.Add

'Tu insères le code de la procédure dans ton classeur.
With Wk.VBProject.VBComponents("ThisWorkbook").CodeModule
.AddFromString Code
End With

Set Wk = Nothing

End Sub
'-----------------------------------


Salutations!



"John Fuss" a écrit dans le message de
news:bovqoa$f8v$

Bonjour à ts,

je créé un classeur comme suit :

Dim wb as string
wb = Workbooks.add.name

est-ce que je peux intercepter l'evenement before_Close du classeur wb ?

Merci

John