Merci beaucoup Nicolas, J'ai en effet récupérer ceci, mais est-il possible de mettre un msgbox vous devez quitter par le bouton quitter ? Merci
Dans un module de ton classeur tu colles ceci :
Public bye As Boolean
Sub quitter() bye = True ThisWorkbook.Close End Sub
Tu appelles quitter dans le code de ton bouton
Et dans le module ThisWorkbook, ceci :
Private Sub Workbook_BeforeClose(Cancel As Boolean) Cancel = Not bye End Sub
FxM
Bnsoir,
Alpha wrote:
Trop rapide Nicolas, Peut-être un peu trop ;o) Essaie avec :
Private Sub Workbook_BeforeClose(Cancel As Boolean) if not bye then MsgBox "C'est pas par là la sortie !" Cancel = true end if End Sub
Lorsque tu cliques sur ton bouton, tu lances quitter() Sub quitter() bye = True 'la variable bye est mise à vrai (true) ThisWorkbook.Close 'puis tu quittes le classeur End Sub
Avant de fermer le classeur -> Private Sub Workbook_BeforeClose(Cancel As Boolean)
if condition then ... (si condition alors ...) si la condition est vrai alors ce qui suit est effectué. La condition est not bye.
Tu quittes par le bouton -> bye = true -> not bye = false Donc le message n'est pas affiché puisque la condition est fausse. A l'inverse tu cherches à quitter par la croix, bye est false, not bye = false -> afficher le message.
Cancel est l'annulation de l'action. Si tu mets cancel à true, beforeclose est arreté et le classeur ne se ferme pas.
Voilà, voilà.
@+ FxM
et vraiment très sympa de ta part, une p'tite dernière,
peux-tu en 2 mots m'expliquer cette proc ? Alpha
"Nicolas B." a écrit dans le message de news:
Dans le ThisWorkbook :
Private Sub Workbook_BeforeClose(Cancel As Boolean) Cancel = Not bye MsgBox "C'est pas par là la sortie !" End Sub
Merci beaucoup Nicolas, J'ai en effet récupérer ceci, mais est-il possible de mettre un msgbox vous devez quitter par le bouton quitter ? Merci
Dans un module de ton classeur tu colles ceci :
Public bye As Boolean
Sub quitter() bye = True ThisWorkbook.Close End Sub
Tu appelles quitter dans le code de ton bouton
Et dans le module ThisWorkbook, ceci :
Private Sub Workbook_BeforeClose(Cancel As Boolean) Cancel = Not bye End Sub
Bnsoir,
Alpha wrote:
Trop rapide Nicolas,
Peut-être un peu trop ;o) Essaie avec :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
if not bye then
MsgBox "C'est pas par là la sortie !"
Cancel = true
end if
End Sub
Lorsque tu cliques sur ton bouton, tu lances quitter()
Sub quitter()
bye = True 'la variable bye est mise à vrai (true)
ThisWorkbook.Close 'puis tu quittes le classeur
End Sub
Avant de fermer le classeur ->
Private Sub Workbook_BeforeClose(Cancel As Boolean)
if condition then ... (si condition alors ...)
si la condition est vrai alors ce qui suit est effectué.
La condition est not bye.
Tu quittes par le bouton -> bye = true -> not bye = false
Donc le message n'est pas affiché puisque la condition est fausse.
A l'inverse tu cherches à quitter par la croix, bye est false, not bye
= false -> afficher le message.
Cancel est l'annulation de l'action. Si tu mets cancel à true,
beforeclose est arreté et le classeur ne se ferme pas.
Voilà, voilà.
@+
FxM
et vraiment très sympa de ta part, une p'tite dernière,
peux-tu en 2 mots m'expliquer cette proc ?
Alpha
"Nicolas B." <nicolas.bruot@adresse.bidon.com> a écrit dans le message de
news: eEjUR9yxDHA.604@tk2msftngp13.phx.gbl...
Dans le ThisWorkbook :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Cancel = Not bye
MsgBox "C'est pas par là la sortie !"
End Sub
Trop rapide Nicolas, Peut-être un peu trop ;o) Essaie avec :
Private Sub Workbook_BeforeClose(Cancel As Boolean) if not bye then MsgBox "C'est pas par là la sortie !" Cancel = true end if End Sub
Lorsque tu cliques sur ton bouton, tu lances quitter() Sub quitter() bye = True 'la variable bye est mise à vrai (true) ThisWorkbook.Close 'puis tu quittes le classeur End Sub
Avant de fermer le classeur -> Private Sub Workbook_BeforeClose(Cancel As Boolean)
if condition then ... (si condition alors ...) si la condition est vrai alors ce qui suit est effectué. La condition est not bye.
Tu quittes par le bouton -> bye = true -> not bye = false Donc le message n'est pas affiché puisque la condition est fausse. A l'inverse tu cherches à quitter par la croix, bye est false, not bye = false -> afficher le message.
Cancel est l'annulation de l'action. Si tu mets cancel à true, beforeclose est arreté et le classeur ne se ferme pas.
Voilà, voilà.
@+ FxM
et vraiment très sympa de ta part, une p'tite dernière,
peux-tu en 2 mots m'expliquer cette proc ? Alpha
"Nicolas B." a écrit dans le message de news:
Dans le ThisWorkbook :
Private Sub Workbook_BeforeClose(Cancel As Boolean) Cancel = Not bye MsgBox "C'est pas par là la sortie !" End Sub
Merci beaucoup Nicolas, J'ai en effet récupérer ceci, mais est-il possible de mettre un msgbox vous devez quitter par le bouton quitter ? Merci
Dans un module de ton classeur tu colles ceci :
Public bye As Boolean
Sub quitter() bye = True ThisWorkbook.Close End Sub
Tu appelles quitter dans le code de ton bouton
Et dans le module ThisWorkbook, ceci :
Private Sub Workbook_BeforeClose(Cancel As Boolean) Cancel = Not bye End Sub
Alpha
Eh bin dis donc que dire ! Merci beaucoup Alpha
"FxM" a écrit dans le message de news:
Bnsoir,
Alpha wrote:
Trop rapide Nicolas, Peut-être un peu trop ;o) Essaie avec :
Private Sub Workbook_BeforeClose(Cancel As Boolean) if not bye then MsgBox "C'est pas par là la sortie !" Cancel = true end if End Sub
Lorsque tu cliques sur ton bouton, tu lances quitter() Sub quitter() bye = True 'la variable bye est mise à vrai (true) ThisWorkbook.Close 'puis tu quittes le classeur End Sub
Avant de fermer le classeur -> Private Sub Workbook_BeforeClose(Cancel As Boolean)
if condition then ... (si condition alors ...) si la condition est vrai alors ce qui suit est effectué. La condition est not bye.
Tu quittes par le bouton -> bye = true -> not bye = false Donc le message n'est pas affiché puisque la condition est fausse. A l'inverse tu cherches à quitter par la croix, bye est false, not bye = false -> afficher le message.
Cancel est l'annulation de l'action. Si tu mets cancel à true, beforeclose est arreté et le classeur ne se ferme pas.
Voilà, voilà.
@+ FxM
et vraiment très sympa de ta part, une p'tite dernière,
peux-tu en 2 mots m'expliquer cette proc ? Alpha
"Nicolas B." a écrit dans le message de
news:
Dans le ThisWorkbook :
Private Sub Workbook_BeforeClose(Cancel As Boolean) Cancel = Not bye MsgBox "C'est pas par là la sortie !" End Sub
Merci beaucoup Nicolas, J'ai en effet récupérer ceci, mais est-il possible de mettre un msgbox vous devez quitter par le bouton quitter ? Merci
Dans un module de ton classeur tu colles ceci :
Public bye As Boolean
Sub quitter() bye = True ThisWorkbook.Close End Sub
Tu appelles quitter dans le code de ton bouton
Et dans le module ThisWorkbook, ceci :
Private Sub Workbook_BeforeClose(Cancel As Boolean) Cancel = Not bye End Sub
Eh bin dis donc que dire !
Merci beaucoup
Alpha
"FxM" <fxmanceaux@chello.fr> a écrit dans le message de news:
e5hDsGzxDHA.2520@TK2MSFTNGP10.phx.gbl...
Bnsoir,
Alpha wrote:
Trop rapide Nicolas,
Peut-être un peu trop ;o) Essaie avec :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
if not bye then
MsgBox "C'est pas par là la sortie !"
Cancel = true
end if
End Sub
Lorsque tu cliques sur ton bouton, tu lances quitter()
Sub quitter()
bye = True 'la variable bye est mise à vrai (true)
ThisWorkbook.Close 'puis tu quittes le classeur
End Sub
Avant de fermer le classeur ->
Private Sub Workbook_BeforeClose(Cancel As Boolean)
if condition then ... (si condition alors ...)
si la condition est vrai alors ce qui suit est effectué.
La condition est not bye.
Tu quittes par le bouton -> bye = true -> not bye = false
Donc le message n'est pas affiché puisque la condition est fausse.
A l'inverse tu cherches à quitter par la croix, bye est false, not bye
= false -> afficher le message.
Cancel est l'annulation de l'action. Si tu mets cancel à true,
beforeclose est arreté et le classeur ne se ferme pas.
Voilà, voilà.
@+
FxM
et vraiment très sympa de ta part, une p'tite dernière,
peux-tu en 2 mots m'expliquer cette proc ?
Alpha
"Nicolas B." <nicolas.bruot@adresse.bidon.com> a écrit dans le message
de
news: eEjUR9yxDHA.604@tk2msftngp13.phx.gbl...
Dans le ThisWorkbook :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Cancel = Not bye
MsgBox "C'est pas par là la sortie !"
End Sub
Trop rapide Nicolas, Peut-être un peu trop ;o) Essaie avec :
Private Sub Workbook_BeforeClose(Cancel As Boolean) if not bye then MsgBox "C'est pas par là la sortie !" Cancel = true end if End Sub
Lorsque tu cliques sur ton bouton, tu lances quitter() Sub quitter() bye = True 'la variable bye est mise à vrai (true) ThisWorkbook.Close 'puis tu quittes le classeur End Sub
Avant de fermer le classeur -> Private Sub Workbook_BeforeClose(Cancel As Boolean)
if condition then ... (si condition alors ...) si la condition est vrai alors ce qui suit est effectué. La condition est not bye.
Tu quittes par le bouton -> bye = true -> not bye = false Donc le message n'est pas affiché puisque la condition est fausse. A l'inverse tu cherches à quitter par la croix, bye est false, not bye = false -> afficher le message.
Cancel est l'annulation de l'action. Si tu mets cancel à true, beforeclose est arreté et le classeur ne se ferme pas.
Voilà, voilà.
@+ FxM
et vraiment très sympa de ta part, une p'tite dernière,
peux-tu en 2 mots m'expliquer cette proc ? Alpha
"Nicolas B." a écrit dans le message de
news:
Dans le ThisWorkbook :
Private Sub Workbook_BeforeClose(Cancel As Boolean) Cancel = Not bye MsgBox "C'est pas par là la sortie !" End Sub
Peut-être un peu trop ;o) Pan sur les doigts François, faut essayer d'abord !
La macro de Nicolas va bien jusqu'au bout et donc le message est affiché tandis que le classeur reste ouvert. Excuses donc.
@+ FxM
Alpha
Euh... Désolé François-Xavier, cela fonctionne très bien, mais comme j'ai mis une proc dans le workbook Before_close, même quand je quitte avec le bouton, in fine, le msgbox s'affiche, sais-tu comment je peux contourner le pb ? Alpha
"FxM" a écrit dans le message de news: #
Trop rapide Nicolas,
Peut-être un peu trop ;o) Pan sur les doigts François, faut essayer d'abord !
La macro de Nicolas va bien jusqu'au bout et donc le message est affiché tandis que le classeur reste ouvert. Excuses donc.
@+ FxM
Euh... Désolé François-Xavier, cela fonctionne très bien, mais comme j'ai
mis une proc dans le workbook Before_close, même quand je quitte avec le
bouton,
in fine, le msgbox s'affiche, sais-tu comment je peux contourner le pb ?
Alpha
"FxM" <fxmanceaux@chello.fr> a écrit dans le message de news:
#faiZMzxDHA.2500@TK2MSFTNGP09.phx.gbl...
Trop rapide Nicolas,
Peut-être un peu trop ;o)
Pan sur les doigts François, faut essayer d'abord !
La macro de Nicolas va bien jusqu'au bout et donc le message est
affiché tandis que le classeur reste ouvert. Excuses donc.
Euh... Désolé François-Xavier, cela fonctionne très bien, mais comme j'ai mis une proc dans le workbook Before_close, même quand je quitte avec le bouton, in fine, le msgbox s'affiche, sais-tu comment je peux contourner le pb ? Alpha
"FxM" a écrit dans le message de news: #
Trop rapide Nicolas,
Peut-être un peu trop ;o) Pan sur les doigts François, faut essayer d'abord !
La macro de Nicolas va bien jusqu'au bout et donc le message est affiché tandis que le classeur reste ouvert. Excuses donc.
@+ FxM
Nicolas B.
Ceci devrait te convenir (affecte le clic du bouton de sortie à la macro Sortie) :
Dim Bouton As Boolean
Private Sub Workbook_BeforeClose(Cancel As Boolean) If Bouton = False Then Cancel = True MsgBox "Coincé !" End If End Sub
Private Sub Workbook_Open() Bouton = False End Sub
Sub Sortie() Bouton = True ThisWorkbook.Close End Sub
Explications : tu rajoute une variable Bouton qui va indiquer si la demande de fermeture vient du bouton ou de la croix. Dans le BeforeSave, en résumé : si Bouton úlse, alors empêche la fermeture. A l'ouverture du classeur, la valeur est mise à False. Ainsi, en cliquant sur la croix, la fermeture est bloquée. Quand tu clique sur le bouton de fermeture, la variable Bouton est mise à True, et en faisant ThisWorkbook.close, la macro BeforeSave, qui se déclenche quand même, n'empêche plus la fermeture.
Euh... Désolé François-Xavier, cela fonctionne très bien, mais comme j'ai mis une proc dans le workbook Before_close, même quand je quitte avec le bouton, in fine, le msgbox s'affiche, sais-tu comment je peux contourner le pb ? Alpha
"FxM" a écrit dans le message de news: #
Trop rapide Nicolas,
Peut-être un peu trop ;o) Pan sur les doigts François, faut essayer d'abord !
La macro de Nicolas va bien jusqu'au bout et donc le message est affiché tandis que le classeur reste ouvert. Excuses donc.
@+ FxM
Ceci devrait te convenir (affecte le clic du bouton de sortie à la macro
Sortie) :
Dim Bouton As Boolean
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Bouton = False Then
Cancel = True
MsgBox "Coincé !"
End If
End Sub
Private Sub Workbook_Open()
Bouton = False
End Sub
Sub Sortie()
Bouton = True
ThisWorkbook.Close
End Sub
Explications : tu rajoute une variable Bouton qui va indiquer si la demande
de fermeture vient du bouton ou de la croix. Dans le BeforeSave, en résumé :
si Bouton úlse, alors empêche la fermeture.
A l'ouverture du classeur, la valeur est mise à False. Ainsi, en cliquant
sur la croix, la fermeture est bloquée.
Quand tu clique sur le bouton de fermeture, la variable Bouton est mise à
True, et en faisant ThisWorkbook.close, la macro BeforeSave, qui se
déclenche quand même, n'empêche plus la fermeture.
Euh... Désolé François-Xavier, cela fonctionne très bien, mais comme
j'ai mis une proc dans le workbook Before_close, même quand je quitte
avec le bouton,
in fine, le msgbox s'affiche, sais-tu comment je peux contourner le
pb ? Alpha
"FxM" <fxmanceaux@chello.fr> a écrit dans le message de news:
#faiZMzxDHA.2500@TK2MSFTNGP09.phx.gbl...
Trop rapide Nicolas,
Peut-être un peu trop ;o)
Pan sur les doigts François, faut essayer d'abord !
La macro de Nicolas va bien jusqu'au bout et donc le message est
affiché tandis que le classeur reste ouvert. Excuses donc.
Ceci devrait te convenir (affecte le clic du bouton de sortie à la macro Sortie) :
Dim Bouton As Boolean
Private Sub Workbook_BeforeClose(Cancel As Boolean) If Bouton = False Then Cancel = True MsgBox "Coincé !" End If End Sub
Private Sub Workbook_Open() Bouton = False End Sub
Sub Sortie() Bouton = True ThisWorkbook.Close End Sub
Explications : tu rajoute une variable Bouton qui va indiquer si la demande de fermeture vient du bouton ou de la croix. Dans le BeforeSave, en résumé : si Bouton úlse, alors empêche la fermeture. A l'ouverture du classeur, la valeur est mise à False. Ainsi, en cliquant sur la croix, la fermeture est bloquée. Quand tu clique sur le bouton de fermeture, la variable Bouton est mise à True, et en faisant ThisWorkbook.close, la macro BeforeSave, qui se déclenche quand même, n'empêche plus la fermeture.
Euh... Désolé François-Xavier, cela fonctionne très bien, mais comme j'ai mis une proc dans le workbook Before_close, même quand je quitte avec le bouton, in fine, le msgbox s'affiche, sais-tu comment je peux contourner le pb ? Alpha
"FxM" a écrit dans le message de news: #
Trop rapide Nicolas,
Peut-être un peu trop ;o) Pan sur les doigts François, faut essayer d'abord !
La macro de Nicolas va bien jusqu'au bout et donc le message est affiché tandis que le classeur reste ouvert. Excuses donc.
@+ FxM
Alpha
Ok, Nicolas, je te remercie infiniment. Alpha
"Nicolas B." a écrit dans le message de news: #
Ceci devrait te convenir (affecte le clic du bouton de sortie à la macro Sortie) :
Dim Bouton As Boolean
Private Sub Workbook_BeforeClose(Cancel As Boolean) If Bouton = False Then Cancel = True MsgBox "Coincé !" End If End Sub
Private Sub Workbook_Open() Bouton = False End Sub
Sub Sortie() Bouton = True ThisWorkbook.Close End Sub
Explications : tu rajoute une variable Bouton qui va indiquer si la demande
de fermeture vient du bouton ou de la croix. Dans le BeforeSave, en résumé :
si Bouton úlse, alors empêche la fermeture. A l'ouverture du classeur, la valeur est mise à False. Ainsi, en cliquant sur la croix, la fermeture est bloquée. Quand tu clique sur le bouton de fermeture, la variable Bouton est mise à True, et en faisant ThisWorkbook.close, la macro BeforeSave, qui se déclenche quand même, n'empêche plus la fermeture.
Euh... Désolé François-Xavier, cela fonctionne très bien, mais comme j'ai mis une proc dans le workbook Before_close, même quand je quitte avec le bouton, in fine, le msgbox s'affiche, sais-tu comment je peux contourner le pb ? Alpha
"FxM" a écrit dans le message de news: #
Trop rapide Nicolas,
Peut-être un peu trop ;o) Pan sur les doigts François, faut essayer d'abord !
La macro de Nicolas va bien jusqu'au bout et donc le message est affiché tandis que le classeur reste ouvert. Excuses donc.
@+ FxM
Ok, Nicolas, je te remercie infiniment.
Alpha
"Nicolas B." <nicolas.bruot@adresse.bidon.com> a écrit dans le message de
news: #kcge00xDHA.2720@TK2MSFTNGP09.phx.gbl...
Ceci devrait te convenir (affecte le clic du bouton de sortie à la macro
Sortie) :
Dim Bouton As Boolean
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Bouton = False Then
Cancel = True
MsgBox "Coincé !"
End If
End Sub
Private Sub Workbook_Open()
Bouton = False
End Sub
Sub Sortie()
Bouton = True
ThisWorkbook.Close
End Sub
Explications : tu rajoute une variable Bouton qui va indiquer si la
demande
de fermeture vient du bouton ou de la croix. Dans le BeforeSave, en résumé
:
si Bouton úlse, alors empêche la fermeture.
A l'ouverture du classeur, la valeur est mise à False. Ainsi, en cliquant
sur la croix, la fermeture est bloquée.
Quand tu clique sur le bouton de fermeture, la variable Bouton est mise à
True, et en faisant ThisWorkbook.close, la macro BeforeSave, qui se
déclenche quand même, n'empêche plus la fermeture.
Euh... Désolé François-Xavier, cela fonctionne très bien, mais comme
j'ai mis une proc dans le workbook Before_close, même quand je quitte
avec le bouton,
in fine, le msgbox s'affiche, sais-tu comment je peux contourner le
pb ? Alpha
"FxM" <fxmanceaux@chello.fr> a écrit dans le message de news:
#faiZMzxDHA.2500@TK2MSFTNGP09.phx.gbl...
Trop rapide Nicolas,
Peut-être un peu trop ;o)
Pan sur les doigts François, faut essayer d'abord !
La macro de Nicolas va bien jusqu'au bout et donc le message est
affiché tandis que le classeur reste ouvert. Excuses donc.
Ceci devrait te convenir (affecte le clic du bouton de sortie à la macro Sortie) :
Dim Bouton As Boolean
Private Sub Workbook_BeforeClose(Cancel As Boolean) If Bouton = False Then Cancel = True MsgBox "Coincé !" End If End Sub
Private Sub Workbook_Open() Bouton = False End Sub
Sub Sortie() Bouton = True ThisWorkbook.Close End Sub
Explications : tu rajoute une variable Bouton qui va indiquer si la demande
de fermeture vient du bouton ou de la croix. Dans le BeforeSave, en résumé :
si Bouton úlse, alors empêche la fermeture. A l'ouverture du classeur, la valeur est mise à False. Ainsi, en cliquant sur la croix, la fermeture est bloquée. Quand tu clique sur le bouton de fermeture, la variable Bouton est mise à True, et en faisant ThisWorkbook.close, la macro BeforeSave, qui se déclenche quand même, n'empêche plus la fermeture.
Euh... Désolé François-Xavier, cela fonctionne très bien, mais comme j'ai mis une proc dans le workbook Before_close, même quand je quitte avec le bouton, in fine, le msgbox s'affiche, sais-tu comment je peux contourner le pb ? Alpha
"FxM" a écrit dans le message de news: #
Trop rapide Nicolas,
Peut-être un peu trop ;o) Pan sur les doigts François, faut essayer d'abord !
La macro de Nicolas va bien jusqu'au bout et donc le message est affiché tandis que le classeur reste ouvert. Excuses donc.