Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

appeler une macro à la fermeture de mon classeur

17 réponses
Avatar
magic-dd
bonsoir

j'aimerai faire appel =E0 une macro qui est dans un module du perso.xls
lorsque je ferme un classeur et quelque soit le classeur que
j'utilise.

merci de votre aide

7 réponses

1 2
Avatar
LSteph
Ouf!... il était temps que je comprenne
juste 3 minutes avant la cavalerie!

;o)

re magic
1) peux-tu prendre le réflexe de repondre AU-DESSUS de la réponse précédente
: ici, c'est la coutume...
2) et si tu écris :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.Run "perso.xls!Procedure"
End Sub

ça donne quoi?
jps

"magic-dd" a écrit dans le message de news:

On 3 mai, 23:35, LSteph wrote:
Bonsoir magic Jean-Paul,

Effectivement c'est un truc à faire dès le départ...
toutefois pour des classeur qui le nécessitent vraiment.
Sinon à prévoir dans un modèle, mais as-t-on toujours besoin d'autant de
sécurité?
On peut aussi utiliser une macro ou perso pour écrire du code dans les
classeurs certes c'est aussi un peu compliqué.

Ma préf va en général à l'enregistrement (quand c'est lié à la
protection) parceque une fois fait cela permet de récupèrer un classeur
protègé si l'on a pas activé les macros.

Cordialement.

lSteph


bonsoir magic-dd et magic-LSteph
ce que préconise LSteph nécessitera que tu ouvres chacun de tes
classeurs
pour y entrer le code de ce BeforeClose dans chaque module ThisWorkbook
ça peut être un peu lourd si tu manipules des tonnes de classeur, avec
le
risque d'oublier de le faire chaque fois que tu crées un nouveau
classeur
pourquoi alors ne pas monter dans la BO en haut de ta feuille un bouton
auquel tu auras affecté la macro de ton perso.xls?
mais l'exécution de la macro ne se fera pas automatiquement, je te
l'accorde
jps
"LSteph" a écrit dans le message de news:
%
Bonsoir,
Dans ThisWorkbook ,
Sélectonne Workbook dans le déroulant gauche
puis dans celui de droite tu trouves
beforesave
ou
beforeclose
selon l'objectif final par rapport à l'utilisation.
Cordialement.
lSteph
bonsoir
j'aimerai faire appel à une macro qui est dans un module du perso.xls
lorsque je ferme un classeur et quelque soit le classeur que
j'utilise.
merci de votre aide





tout ca est tres interessant

j'ai bien creer mon bouton pour desactiver ma protection de feuille et
celui ci fait appel a une macro placee dans le perso.xls

pour en revenir à ma macro qui va chercher Procedure dans le perso.xls

voila ce que j'aurais dans chaque feuille

dans le workbook

Private Sub Workbook_BeforeClose(Cancel As Boolean)
call Procedure
End Sub

le pb c'est qu'il me bug sur call Procedure

voila le souci

merci








Avatar
jps
:-)))))
sur ce.......
jps

"LSteph" a écrit dans le message de news:

Ouf!... il était temps que je comprenne
juste 3 minutes avant la cavalerie!

;o)

re magic
1) peux-tu prendre le réflexe de repondre AU-DESSUS de la réponse
précédente : ici, c'est la coutume...
2) et si tu écris :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.Run "perso.xls!Procedure"
End Sub

ça donne quoi?
jps

"magic-dd" a écrit dans le message de news:

On 3 mai, 23:35, LSteph wrote:
Bonsoir magic Jean-Paul,

Effectivement c'est un truc à faire dès le départ...
toutefois pour des classeur qui le nécessitent vraiment.
Sinon à prévoir dans un modèle, mais as-t-on toujours besoin d'autant de
sécurité?
On peut aussi utiliser une macro ou perso pour écrire du code dans les
classeurs certes c'est aussi un peu compliqué.

Ma préf va en général à l'enregistrement (quand c'est lié à la
protection) parceque une fois fait cela permet de récupèrer un classeur
protègé si l'on a pas activé les macros.

Cordialement.

lSteph


bonsoir magic-dd et magic-LSteph
ce que préconise LSteph nécessitera que tu ouvres chacun de tes
classeurs
pour y entrer le code de ce BeforeClose dans chaque module ThisWorkbook
ça peut être un peu lourd si tu manipules des tonnes de classeur, avec
le
risque d'oublier de le faire chaque fois que tu crées un nouveau
classeur
pourquoi alors ne pas monter dans la BO en haut de ta feuille un bouton
auquel tu auras affecté la macro de ton perso.xls?
mais l'exécution de la macro ne se fera pas automatiquement, je te
l'accorde
jps
"LSteph" a écrit dans le message de news:
%
Bonsoir,
Dans ThisWorkbook ,
Sélectonne Workbook dans le déroulant gauche
puis dans celui de droite tu trouves
beforesave
ou
beforeclose
selon l'objectif final par rapport à l'utilisation.
Cordialement.
lSteph
bonsoir
j'aimerai faire appel à une macro qui est dans un module du perso.xls
lorsque je ferme un classeur et quelque soit le classeur que
j'utilise.
merci de votre aide





tout ca est tres interessant

j'ai bien creer mon bouton pour desactiver ma protection de feuille et
celui ci fait appel a une macro placee dans le perso.xls

pour en revenir à ma macro qui va chercher Procedure dans le perso.xls

voila ce que j'aurais dans chaque feuille

dans le workbook

Private Sub Workbook_BeforeClose(Cancel As Boolean)
call Procedure
End Sub

le pb c'est qu'il me bug sur call Procedure

voila le souci

merci









Avatar
LSteph
itou...
Bonne nuit!

:-)))))
sur ce.......
jps

"LSteph" a écrit dans le message de news:

Ouf!... il était temps que je comprenne
juste 3 minutes avant la cavalerie!

;o)

re magic
1) peux-tu prendre le réflexe de repondre AU-DESSUS de la réponse
précédente : ici, c'est la coutume...
2) et si tu écris :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.Run "perso.xls!Procedure"
End Sub

ça donne quoi?
jps

"magic-dd" a écrit dans le message de news:

On 3 mai, 23:35, LSteph wrote:
Bonsoir magic Jean-Paul,

Effectivement c'est un truc à faire dès le départ...
toutefois pour des classeur qui le nécessitent vraiment.
Sinon à prévoir dans un modèle, mais as-t-on toujours besoin d'autant de
sécurité?
On peut aussi utiliser une macro ou perso pour écrire du code dans les
classeurs certes c'est aussi un peu compliqué.

Ma préf va en général à l'enregistrement (quand c'est lié à la
protection) parceque une fois fait cela permet de récupèrer un classeur
protègé si l'on a pas activé les macros.

Cordialement.

lSteph


bonsoir magic-dd et magic-LSteph
ce que préconise LSteph nécessitera que tu ouvres chacun de tes
classeurs
pour y entrer le code de ce BeforeClose dans chaque module ThisWorkbook
ça peut être un peu lourd si tu manipules des tonnes de classeur, avec
le
risque d'oublier de le faire chaque fois que tu crées un nouveau
classeur
pourquoi alors ne pas monter dans la BO en haut de ta feuille un bouton
auquel tu auras affecté la macro de ton perso.xls?
mais l'exécution de la macro ne se fera pas automatiquement, je te
l'accorde
jps
"LSteph" a écrit dans le message de news:
%
Bonsoir,
Dans ThisWorkbook ,
Sélectonne Workbook dans le déroulant gauche
puis dans celui de droite tu trouves
beforesave
ou
beforeclose
selon l'objectif final par rapport à l'utilisation.
Cordialement.
lSteph
bonsoir
j'aimerai faire appel à une macro qui est dans un module du perso.xls
lorsque je ferme un classeur et quelque soit le classeur que
j'utilise.
merci de votre aide
tout ca est tres interessant





j'ai bien creer mon bouton pour desactiver ma protection de feuille et
celui ci fait appel a une macro placee dans le perso.xls

pour en revenir à ma macro qui va chercher Procedure dans le perso.xls

voila ce que j'aurais dans chaque feuille

dans le workbook

Private Sub Workbook_BeforeClose(Cancel As Boolean)
call Procedure
End Sub

le pb c'est qu'il me bug sur call Procedure

voila le souci

merci












Avatar
magic-dd
merci JPS

tout cela est parfait

cela fonctionne avec ma boite de dialogue donc avec une procedure un
peu plus complete, cela devrait fonctionner egalement.

merci encore
Avatar
jps
pense aussi à remercier LSteph, magic-dd, sinon il va nous faire un caca
nerveux pour lequel on n'aura même pas besoin de décodeur.....:-))
jps

"magic-dd" a écrit dans le message de news:

merci JPS

tout cela est parfait

cela fonctionne avec ma boite de dialogue donc avec une procedure un
peu plus complete, cela devrait fonctionner egalement.

merci encore



Avatar
MichDenis
à faire dans le classeur Perso.xls :

Tu ajoutes un module de CLASSE que tu nommes à
l'aide de la propriété Name : WowLesBoutons
(Qui dit Classe dit Royal ...;-)) )

'Dans le module de classe, tu insères ce code :
'---------------------------------
Public WithEvents toto As Application

Private Sub toto_WorkbookOpen(ByVal Wb As Workbook)

If UCase(ActiveWorkbook.Name) <> UCase(ThisWorkbook.Name) Then
MsgBox "Ok JPS, ça fera les boutons." & vbCrLf _
& ActiveWorkbook.Name
End If

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

Et dans le ThisWorkbook, toujours du classeur Perso.xls, tu ajoutes ceci

'Déclaration dans le haut du Module ThisWorkbook
Dim X As New WowLesBoutons

'------------------------------
Private Sub Workbook_Open()
Set X.toto = Application
End Sub
'------------------------------

Enregistrer le classeur Perso.xls
Ferme Excel et à sa ré-ouverture, tous les classeurs que tu ouvriras
affichera le message situé dans le module de classe. Évidemment, tu
dois remplacer le message par l'action que tu aimerais exécuter à
l'ouverture de chaque classeur.







"jps" a écrit dans le message de news:
%
re magic
1) peux-tu prendre le réflexe de repondre AU-DESSUS de la réponse précédente
: ici, c'est la coutume...
2) et si tu écris :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.Run "perso.xls!Procedure"
End Sub

ça donne quoi?
jps

"magic-dd" a écrit dans le message de news:

On 3 mai, 23:35, LSteph wrote:
Bonsoir magic Jean-Paul,

Effectivement c'est un truc à faire dès le départ...
toutefois pour des classeur qui le nécessitent vraiment.
Sinon à prévoir dans un modèle, mais as-t-on toujours besoin d'autant de
sécurité?
On peut aussi utiliser une macro ou perso pour écrire du code dans les
classeurs certes c'est aussi un peu compliqué.

Ma préf va en général à l'enregistrement (quand c'est lié à la
protection) parceque une fois fait cela permet de récupèrer un classeur
protègé si l'on a pas activé les macros.

Cordialement.

lSteph


bonsoir magic-dd et magic-LSteph
ce que préconise LSteph nécessitera que tu ouvres chacun de tes
classeurs
pour y entrer le code de ce BeforeClose dans chaque module ThisWorkbook
ça peut être un peu lourd si tu manipules des tonnes de classeur, avec
le
risque d'oublier de le faire chaque fois que tu crées un nouveau
classeur
pourquoi alors ne pas monter dans la BO en haut de ta feuille un bouton
auquel tu auras affecté la macro de ton perso.xls?
mais l'exécution de la macro ne se fera pas automatiquement, je te
l'accorde
jps

"LSteph" a écrit dans le message de news:
%
Bonsoir,

Dans ThisWorkbook ,
Sélectonne Workbook dans le déroulant gauche
puis dans celui de droite tu trouves
beforesave
ou
beforeclose
selon l'objectif final par rapport à l'utilisation.

Cordialement.

lSteph

bonsoir

j'aimerai faire appel à une macro qui est dans un module du perso.xls
lorsque je ferme un classeur et quelque soit le classeur que
j'utilise.

merci de votre aide





tout ca est tres interessant

j'ai bien creer mon bouton pour desactiver ma protection de feuille et
celui ci fait appel a une macro placee dans le perso.xls

pour en revenir à ma macro qui va chercher Procedure dans le perso.xls

voila ce que j'aurais dans chaque feuille

dans le workbook

Private Sub Workbook_BeforeClose(Cancel As Boolean)
call Procedure
End Sub

le pb c'est qu'il me bug sur call Procedure

voila le souci

merci




Avatar
LSteph
;o))

que neni ,lSteph passé une bonne nuit, rien que de savoir qu'il a pu
arriver 3 minutes avant la cavalerie...!


pense aussi à remercier LSteph, magic-dd, sinon il va nous faire un caca
nerveux pour lequel on n'aura même pas besoin de décodeur.....:-))
jps

"magic-dd" a écrit dans le message de news:

merci JPS

tout cela est parfait

cela fonctionne avec ma boite de dialogue donc avec une procedure un
peu plus complete, cela devrait fonctionner egalement.

merci encore






1 2