message de fermeture

Le
Mathieu
Hello a tous !!
J'aimerais une petite aide pour mes macros !!

Qd je quitte l'appli excel, je test si une celulle est vide, si elle l'est,
un message s'affiche puis quitte l'appli,
mais si elle ne l'est pas, j'aimerais avoir un message me demandant si je
veux vraiment quitter sans sauvegarder ou pas (avec oui et non) si "oui" je
quitte sans sauvegarder si non je reviens ds la feuille.

j'ai dejà écris cela :

Private Sub Workbook_BeforeClose(Cancel As Boolean)

If ActiveSheet.Range("A15").Value = vbNullString Then
MsgBox "Le fichier est vide"
Application.DisplayAlerts = False
Application.EnableEvents = False
ThisWorkbook.Close
Else

End If

End Sub


Merci a tous de votre aide!!

Mathieu
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
FFO
Le #4443051
Salut Mathieu
ceci devrait te convenir :
If ActiveSheet.Range("A15").Value = vbNullString Then
MsgBox "Le fichier est vide"
Application.DisplayAlerts = False
Application.EnableEvents = False
ThisWorkbook.Close
Else
If MsgBox("Voulez vous enregistrer ???", vbYesNo) = vbYes Then
ThisWorkbook.Close SaveChanges
Else
Exit Sub
End If
End If

dit moi ??


Hello a tous !!
J'aimerais une petite aide pour mes macros !!

Qd je quitte l'appli excel, je test si une celulle est vide, si elle l'est,
un message s'affiche puis quitte l'appli,
mais si elle ne l'est pas, j'aimerais avoir un message me demandant si je
veux vraiment quitter sans sauvegarder ou pas (avec oui et non) si "oui" je
quitte sans sauvegarder si non je reviens ds la feuille.

j'ai dejà écris cela :

Private Sub Workbook_BeforeClose(Cancel As Boolean)

If ActiveSheet.Range("A15").Value = vbNullString Then
MsgBox "Le fichier est vide"
Application.DisplayAlerts = False
Application.EnableEvents = False
ThisWorkbook.Close
Else
...
End If

End Sub


Merci a tous de votre aide!!

Mathieu





FFO
Le #4443031
Petite erreur si tu veux fermer sans enregistrer remplace dans ma proposition :
If MsgBox("Voulez vous enregistrer ???", vbYesNo) = vbYes Then
ThisWorkbook.Close SaveChanges
par
If MsgBox("Voulez vous quitter sans enregistrer ???", vbYesNo) = vbYes Then
ThisWorkbook.Close SaveChanges:úlse

Mille excuses erreur de compréhension dans ta demande

Hello a tous !!
J'aimerais une petite aide pour mes macros !!

Qd je quitte l'appli excel, je test si une celulle est vide, si elle l'est,
un message s'affiche puis quitte l'appli,
mais si elle ne l'est pas, j'aimerais avoir un message me demandant si je
veux vraiment quitter sans sauvegarder ou pas (avec oui et non) si "oui" je
quitte sans sauvegarder si non je reviens ds la feuille.

j'ai dejà écris cela :

Private Sub Workbook_BeforeClose(Cancel As Boolean)

If ActiveSheet.Range("A15").Value = vbNullString Then
MsgBox "Le fichier est vide"
Application.DisplayAlerts = False
Application.EnableEvents = False
ThisWorkbook.Close
Else
...
End If

End Sub


Merci a tous de votre aide!!

Mathieu





Mathieu
Le #4443021
merci de m'avoir répondu FFO

ton code me donne me lance une boite de dialogue si la cellule est non vide,
ok !!

mais le pti souci c'est qu'après ta boite de dial, j'ai toujours la boite
d'excel me domandant si je veux sauvegarder ou pas avec le "oui" "non"
"annuler" et j'aimerais justement me passer de cette boite pour ne pas que
les utilisateur fasse n'importe quoi... (oui je fais parti de ceux qui ne
prefere pas trop laisser de liberté sur certaine chose, ça évite d'avoir des
enquiquinements ;-)

merci

Mathieu

"FFO"
Salut Mathieu
ceci devrait te convenir :
If ActiveSheet.Range("A15").Value = vbNullString Then
MsgBox "Le fichier est vide"
Application.DisplayAlerts = False
Application.EnableEvents = False
ThisWorkbook.Close
Else
If MsgBox("Voulez vous enregistrer ???", vbYesNo) = vbYes Then
ThisWorkbook.Close SaveChanges
Else
Exit Sub
End If
End If

dit moi ??


Hello a tous !!
J'aimerais une petite aide pour mes macros !!

Qd je quitte l'appli excel, je test si une celulle est vide, si elle
l'est,
un message s'affiche puis quitte l'appli,
mais si elle ne l'est pas, j'aimerais avoir un message me demandant si je
veux vraiment quitter sans sauvegarder ou pas (avec oui et non) si "oui"
je
quitte sans sauvegarder si non je reviens ds la feuille.

j'ai dejà écris cela :

Private Sub Workbook_BeforeClose(Cancel As Boolean)

If ActiveSheet.Range("A15").Value = vbNullString Then
MsgBox "Le fichier est vide"
Application.DisplayAlerts = False
Application.EnableEvents = False
ThisWorkbook.Close
Else
...
End If

End Sub


Merci a tous de votre aide!!

Mathieu







Mathieu
Le #4442991
je viens de tester ton nouveau code (tu as vite rép !!!!), j'ai plus le
message d'excel me demandant si oui ou non je veux save !! cool merci bien

mais y a t il une solution si quand je clique sur "non" je ne quitte pas
l'application (comme si rien ne c'était passé) ??

merci FFO

Mathieu

"FFO"
Petite erreur si tu veux fermer sans enregistrer remplace dans ma
proposition :
If MsgBox("Voulez vous enregistrer ???", vbYesNo) = vbYes Then
ThisWorkbook.Close SaveChanges
par
If MsgBox("Voulez vous quitter sans enregistrer ???", vbYesNo) = vbYes
Then
ThisWorkbook.Close SaveChanges:úlse

Mille excuses erreur de compréhension dans ta demande

Hello a tous !!
J'aimerais une petite aide pour mes macros !!

Qd je quitte l'appli excel, je test si une celulle est vide, si elle
l'est,
un message s'affiche puis quitte l'appli,
mais si elle ne l'est pas, j'aimerais avoir un message me demandant si je
veux vraiment quitter sans sauvegarder ou pas (avec oui et non) si "oui"
je
quitte sans sauvegarder si non je reviens ds la feuille.

j'ai dejà écris cela :

Private Sub Workbook_BeforeClose(Cancel As Boolean)

If ActiveSheet.Range("A15").Value = vbNullString Then
MsgBox "Le fichier est vide"
Application.DisplayAlerts = False
Application.EnableEvents = False
ThisWorkbook.Close
Else
...
End If

End Sub


Merci a tous de votre aide!!

Mathieu







FFO
Le #4442971
J'ai réessayé de mon côté et je n'ai pas ton anomalie
Ce message n'est il pas suite à la modification de ta macro conformément à
mon code que tu n'aurais pas enregistrée ???
Effectues dans cette hypothèse un enregistrement aprés mise en place de mon
code
Exécute la macro ensuite celà devrait fonctionner

tiens moi informé


merci de m'avoir répondu FFO

ton code me donne me lance une boite de dialogue si la cellule est non vide,
ok !!

mais le pti souci c'est qu'après ta boite de dial, j'ai toujours la boite
d'excel me domandant si je veux sauvegarder ou pas avec le "oui" "non"
"annuler" et j'aimerais justement me passer de cette boite pour ne pas que
les utilisateur fasse n'importe quoi... (oui je fais parti de ceux qui ne
prefere pas trop laisser de liberté sur certaine chose, ça évite d'avoir des
enquiquinements ;-)

merci

Mathieu

"FFO"
Salut Mathieu
ceci devrait te convenir :
If ActiveSheet.Range("A15").Value = vbNullString Then
MsgBox "Le fichier est vide"
Application.DisplayAlerts = False
Application.EnableEvents = False
ThisWorkbook.Close
Else
If MsgBox("Voulez vous enregistrer ???", vbYesNo) = vbYes Then
ThisWorkbook.Close SaveChanges
Else
Exit Sub
End If
End If

dit moi ??


Hello a tous !!
J'aimerais une petite aide pour mes macros !!

Qd je quitte l'appli excel, je test si une celulle est vide, si elle
l'est,
un message s'affiche puis quitte l'appli,
mais si elle ne l'est pas, j'aimerais avoir un message me demandant si je
veux vraiment quitter sans sauvegarder ou pas (avec oui et non) si "oui"
je
quitte sans sauvegarder si non je reviens ds la feuille.

j'ai dejà écris cela :

Private Sub Workbook_BeforeClose(Cancel As Boolean)

If ActiveSheet.Range("A15").Value = vbNullString Then
MsgBox "Le fichier est vide"
Application.DisplayAlerts = False
Application.EnableEvents = False
ThisWorkbook.Close
Else
...
End If

End Sub


Merci a tous de votre aide!!

Mathieu












FFO
Le #4442931
Dans mon code si tu réponds non tu sort de la macro et tu reste sur ton
fichier comme si rien ne c'était passé
Ce n'est pas ce que tu obtiens ???
Merci pour tes précisions

je viens de tester ton nouveau code (tu as vite rép !!!!), j'ai plus le
message d'excel me demandant si oui ou non je veux save !! cool merci bien

mais y a t il une solution si quand je clique sur "non" je ne quitte pas
l'application (comme si rien ne c'était passé) ??

merci FFO

Mathieu

"FFO"
Petite erreur si tu veux fermer sans enregistrer remplace dans ma
proposition :
If MsgBox("Voulez vous enregistrer ???", vbYesNo) = vbYes Then
ThisWorkbook.Close SaveChanges
par
If MsgBox("Voulez vous quitter sans enregistrer ???", vbYesNo) = vbYes
Then
ThisWorkbook.Close SaveChanges:úlse

Mille excuses erreur de compréhension dans ta demande

Hello a tous !!
J'aimerais une petite aide pour mes macros !!

Qd je quitte l'appli excel, je test si une celulle est vide, si elle
l'est,
un message s'affiche puis quitte l'appli,
mais si elle ne l'est pas, j'aimerais avoir un message me demandant si je
veux vraiment quitter sans sauvegarder ou pas (avec oui et non) si "oui"
je
quitte sans sauvegarder si non je reviens ds la feuille.

j'ai dejà écris cela :

Private Sub Workbook_BeforeClose(Cancel As Boolean)

If ActiveSheet.Range("A15").Value = vbNullString Then
MsgBox "Le fichier est vide"
Application.DisplayAlerts = False
Application.EnableEvents = False
ThisWorkbook.Close
Else
...
End If

End Sub


Merci a tous de votre aide!!

Mathieu












Mathieu
Le #4442921
merci de m'aider ds mon pti souci

ce que j'ai fait c'est que j'ai copié ton code direct ds un nouveau fichier
excel dans ThisWorkBook :

Private Sub Workbook_BeforeClose(Cancel As Boolean)

If ActiveSheet.Range("A1").Value = vbNullString Then
MsgBox "Le fichier est vide"
Application.DisplayAlerts = False
Application.EnableEvents = False
ThisWorkbook.Close
Else
If MsgBox("Voulez vous quitter sans enregistrer ???", vbYesNo) = vbYes
Then
ThisWorkbook.Close SaveChanges:úlse
Else
Exit Sub
End If
End If

End Sub

voici mes résultats :
- si A1 est vide :
je fais fichier quitter => message "le fichier est vide" puis fermeture
du classeur

- si A1 est remplie :
je fais fichier quitter => message "voulez vous ..."
si je clique sur "oui" rien ne se passe, je doit recliquer sur oui
et le classeur se ferme
si je clique sur "non" un message d'excel me demande si je veux
enregistrer les modif (oui, non, annuler)
si je fais "annuler" : je reste bien ds le fichier
si je fais "non" : fermeture d'excel
si je fais "oui" : sauvegarde du fichier puis fermeture d'excel

je sais c'est un peu bizarre, mais n'y aurait il pas des options à cocher ou
décocher ou un pb de version (excel 2003)
mais cela m'étonnerait fort...

as tu une idée avec ce que je viens de te décrire ??

merci beaucoup

Mathieu

"FFO"
Dans mon code si tu réponds non tu sort de la macro et tu reste sur ton
fichier comme si rien ne c'était passé
Ce n'est pas ce que tu obtiens ???
Merci pour tes précisions

je viens de tester ton nouveau code (tu as vite rép !!!!), j'ai plus le
message d'excel me demandant si oui ou non je veux save !! cool merci
bien

mais y a t il une solution si quand je clique sur "non" je ne quitte pas
l'application (comme si rien ne c'était passé) ??

merci FFO

Mathieu

"FFO"
Petite erreur si tu veux fermer sans enregistrer remplace dans ma
proposition :
If MsgBox("Voulez vous enregistrer ???", vbYesNo) = vbYes Then
ThisWorkbook.Close SaveChanges
par
If MsgBox("Voulez vous quitter sans enregistrer ???", vbYesNo) = vbYes
Then
ThisWorkbook.Close SaveChanges:úlse

Mille excuses erreur de compréhension dans ta demande

Hello a tous !!
J'aimerais une petite aide pour mes macros !!

Qd je quitte l'appli excel, je test si une celulle est vide, si elle
l'est,
un message s'affiche puis quitte l'appli,
mais si elle ne l'est pas, j'aimerais avoir un message me demandant si
je
veux vraiment quitter sans sauvegarder ou pas (avec oui et non) si
"oui"
je
quitte sans sauvegarder si non je reviens ds la feuille.

j'ai dejà écris cela :

Private Sub Workbook_BeforeClose(Cancel As Boolean)

If ActiveSheet.Range("A15").Value = vbNullString Then
MsgBox "Le fichier est vide"
Application.DisplayAlerts = False
Application.EnableEvents = False
ThisWorkbook.Close
Else
...
End If

End Sub


Merci a tous de votre aide!!

Mathieu














FFO
Le #4442821
En aucun cas tu peux avoir en exécutant mon code un message avec une
information du type "enregistrer les modif (oui, non, annuler)"
Cette invitation n'intervient que suite à des modifications effectuées
indépendemment de celles de la macro que tu n'aurais pas enregistrées
(modification du code, saisie quelconque dans le classeur)
Avant donc tout essai faire un enregistrement
Il ya quelque chose que je ne comprends dans le résultat à obtenir :
cellule vide : MsgBox "Le fichier est vide" et fermeture (OK)
Cellule remplie : 2 options avec message MsgBox("Voulez vous quitter sans
enregistrer ???", vbYesNo)
Oui fermeture sans enregistrer (OK)
Et pour non : ?????
Ton souhait jusqu'à lors était de maintenir ton document ouvert en l'état
Si tu utilises ThisWorkBook en déclarant la macro avec Private Sub
Workbook_BeforeClose(Cancel As Boolean) celà devient contradictoire
Merci de m'éclaircir et surtout de me dire ce que tu attends avec l'option
"Non"
En tout état de cause modifies le code ainsi :

If ActiveSheet.Range("A1").Value = vbNullString Then
MsgBox "Le fichier est vide"
Application.DisplayAlerts = False
Application.EnableEvents = False
ThisWorkbook.Close
Else
If MsgBox("Voulez vous quitter sans enregistrer ???", vbYesNo) = vbYes
Then
Application.EnableEvents = False
ThisWorkbook.Close SaveChanges:úlse
Else
Exit Sub
End If
End If
La 2° confirmation intempestive sera supprimée
Dans l'attente de tes précisions

merci de m'aider ds mon pti souci

ce que j'ai fait c'est que j'ai copié ton code direct ds un nouveau fichier
excel dans ThisWorkBook :

Private Sub Workbook_BeforeClose(Cancel As Boolean)

If ActiveSheet.Range("A1").Value = vbNullString Then
MsgBox "Le fichier est vide"
Application.DisplayAlerts = False
Application.EnableEvents = False
ThisWorkbook.Close
Else
If MsgBox("Voulez vous quitter sans enregistrer ???", vbYesNo) = vbYes
Then
ThisWorkbook.Close SaveChanges:úlse
Else
Exit Sub
End If
End If

End Sub

voici mes résultats :
- si A1 est vide :
je fais fichier quitter => message "le fichier est vide" puis fermeture
du classeur

- si A1 est remplie :
je fais fichier quitter => message "voulez vous ..."
si je clique sur "oui" rien ne se passe, je doit recliquer sur oui
et le classeur se ferme
si je clique sur "non" un message d'excel me demande si je veux
enregistrer les modif (oui, non, annuler)
si je fais "annuler" : je reste bien ds le fichier
si je fais "non" : fermeture d'excel
si je fais "oui" : sauvegarde du fichier puis fermeture d'excel

je sais c'est un peu bizarre, mais n'y aurait il pas des options à cocher ou
décocher ou un pb de version (excel 2003)
mais cela m'étonnerait fort...

as tu une idée avec ce que je viens de te décrire ??

merci beaucoup

Mathieu

"FFO"
Dans mon code si tu réponds non tu sort de la macro et tu reste sur ton
fichier comme si rien ne c'était passé
Ce n'est pas ce que tu obtiens ???
Merci pour tes précisions

je viens de tester ton nouveau code (tu as vite rép !!!!), j'ai plus le
message d'excel me demandant si oui ou non je veux save !! cool merci
bien

mais y a t il une solution si quand je clique sur "non" je ne quitte pas
l'application (comme si rien ne c'était passé) ??

merci FFO

Mathieu

"FFO"
Petite erreur si tu veux fermer sans enregistrer remplace dans ma
proposition :
If MsgBox("Voulez vous enregistrer ???", vbYesNo) = vbYes Then
ThisWorkbook.Close SaveChanges
par
If MsgBox("Voulez vous quitter sans enregistrer ???", vbYesNo) = vbYes
Then
ThisWorkbook.Close SaveChanges:úlse

Mille excuses erreur de compréhension dans ta demande

Hello a tous !!
J'aimerais une petite aide pour mes macros !!

Qd je quitte l'appli excel, je test si une celulle est vide, si elle
l'est,
un message s'affiche puis quitte l'appli,
mais si elle ne l'est pas, j'aimerais avoir un message me demandant si
je
veux vraiment quitter sans sauvegarder ou pas (avec oui et non) si
"oui"
je
quitte sans sauvegarder si non je reviens ds la feuille.

j'ai dejà écris cela :

Private Sub Workbook_BeforeClose(Cancel As Boolean)

If ActiveSheet.Range("A15").Value = vbNullString Then
MsgBox "Le fichier est vide"
Application.DisplayAlerts = False
Application.EnableEvents = False
ThisWorkbook.Close
Else
...
End If

End Sub


Merci a tous de votre aide!!

Mathieu



















Mathieu
Le #4442721
Voilà FFO, ce code permet :

si la cellule A1 est vide, je ne m'occupe pas de sauvegardé ou non le
fichier, je quitte excel

ensuite en quittant, il regarde si le fichier à été modifié ou non par
rapport à l'ouverture, si oui une boite s'affiche demandant si l'n souhaite
quitter sans enregistrer
avec oui non
- oui : quitte
- non : reviens ds le fichier (comme rien ne s'était passé)

Private Sub Workbook_BeforeClose(Cancel As Boolean)

If ActiveSheet.Range("A1").Value = vbNullString Then
MsgBox "Le fichier est vide, il ne sera pas sauvegardé !"
Application.DisplayAlerts = False
Application.Quit
Else
If Not Me.Saved Then
Ans = MsgBox("Voulez vous quitter sans enregistrer ?", vbYesNo)
Select Case Ans
Case vbYes
Me.Save = True
Case vbNo
Cancel = True
Exit Sub
End Select
End If
MsgBox "Merci"
End If
End Sub

Merci de m'avoir aider à trouver ce que je voulais vraiment, parfois c'est
un peu dur a expliquer

Mathieu



"FFO"
En aucun cas tu peux avoir en exécutant mon code un message avec une
information du type "enregistrer les modif (oui, non, annuler)"
Cette invitation n'intervient que suite à des modifications effectuées
indépendemment de celles de la macro que tu n'aurais pas enregistrées
(modification du code, saisie quelconque dans le classeur)
Avant donc tout essai faire un enregistrement
Il ya quelque chose que je ne comprends dans le résultat à obtenir :
cellule vide : MsgBox "Le fichier est vide" et fermeture (OK)
Cellule remplie : 2 options avec message MsgBox("Voulez vous quitter sans
enregistrer ???", vbYesNo)
Oui fermeture sans enregistrer (OK)
Et pour non : ?????
Ton souhait jusqu'à lors était de maintenir ton document ouvert en l'état
Si tu utilises ThisWorkBook en déclarant la macro avec Private Sub
Workbook_BeforeClose(Cancel As Boolean) celà devient contradictoire
Merci de m'éclaircir et surtout de me dire ce que tu attends avec l'option
"Non"
En tout état de cause modifies le code ainsi :

If ActiveSheet.Range("A1").Value = vbNullString Then
MsgBox "Le fichier est vide"
Application.DisplayAlerts = False
Application.EnableEvents = False
ThisWorkbook.Close
Else
If MsgBox("Voulez vous quitter sans enregistrer ???", vbYesNo) = vbYes
Then
Application.EnableEvents = False
ThisWorkbook.Close SaveChanges:úlse
Else
Exit Sub
End If
End If
La 2° confirmation intempestive sera supprimée
Dans l'attente de tes précisions

merci de m'aider ds mon pti souci

ce que j'ai fait c'est que j'ai copié ton code direct ds un nouveau
fichier
excel dans ThisWorkBook :

Private Sub Workbook_BeforeClose(Cancel As Boolean)

If ActiveSheet.Range("A1").Value = vbNullString Then
MsgBox "Le fichier est vide"
Application.DisplayAlerts = False
Application.EnableEvents = False
ThisWorkbook.Close
Else
If MsgBox("Voulez vous quitter sans enregistrer ???", vbYesNo) =
vbYes
Then
ThisWorkbook.Close SaveChanges:úlse
Else
Exit Sub
End If
End If

End Sub

voici mes résultats :
- si A1 est vide :
je fais fichier quitter => message "le fichier est vide" puis
fermeture
du classeur

- si A1 est remplie :
je fais fichier quitter => message "voulez vous ..."
si je clique sur "oui" rien ne se passe, je doit recliquer sur
oui
et le classeur se ferme
si je clique sur "non" un message d'excel me demande si je veux
enregistrer les modif (oui, non, annuler)
si je fais "annuler" : je reste bien ds le fichier
si je fais "non" : fermeture d'excel
si je fais "oui" : sauvegarde du fichier puis fermeture
d'excel

je sais c'est un peu bizarre, mais n'y aurait il pas des options à cocher
ou
décocher ou un pb de version (excel 2003)
mais cela m'étonnerait fort...

as tu une idée avec ce que je viens de te décrire ??

merci beaucoup

Mathieu

"FFO"
Dans mon code si tu réponds non tu sort de la macro et tu reste sur ton
fichier comme si rien ne c'était passé
Ce n'est pas ce que tu obtiens ???
Merci pour tes précisions

je viens de tester ton nouveau code (tu as vite rép !!!!), j'ai plus
le
message d'excel me demandant si oui ou non je veux save !! cool merci
bien

mais y a t il une solution si quand je clique sur "non" je ne quitte
pas
l'application (comme si rien ne c'était passé) ??

merci FFO

Mathieu

"FFO"
Petite erreur si tu veux fermer sans enregistrer remplace dans ma
proposition :
If MsgBox("Voulez vous enregistrer ???", vbYesNo) = vbYes Then
ThisWorkbook.Close SaveChanges
par
If MsgBox("Voulez vous quitter sans enregistrer ???", vbYesNo) =
vbYes
Then
ThisWorkbook.Close SaveChanges:úlse

Mille excuses erreur de compréhension dans ta demande

Hello a tous !!
J'aimerais une petite aide pour mes macros !!

Qd je quitte l'appli excel, je test si une celulle est vide, si
elle
l'est,
un message s'affiche puis quitte l'appli,
mais si elle ne l'est pas, j'aimerais avoir un message me demandant
si
je
veux vraiment quitter sans sauvegarder ou pas (avec oui et non) si
"oui"
je
quitte sans sauvegarder si non je reviens ds la feuille.

j'ai dejà écris cela :

Private Sub Workbook_BeforeClose(Cancel As Boolean)

If ActiveSheet.Range("A15").Value = vbNullString Then
MsgBox "Le fichier est vide"
Application.DisplayAlerts = False
Application.EnableEvents = False
ThisWorkbook.Close
Else
...
End If

End Sub


Merci a tous de votre aide!!

Mathieu





















Publicité
Poster une réponse
Anonyme