OVH Cloud OVH Cloud

croix

8 réponses
Avatar
claude HERRMANN
Bonjour,

Je desire empecher l'utilisateur de servir de la croix pour quitter le
fichier.
Pour cela je cree un bouton macro "quitter sans sauvegarder" et
eventuellement un deuxieme "quitter et sauvegarder"

J'ai fait des recherches dans le news group et j'ai trouvé ceci:
Dans Workbook



Private Quitter As Boolean





Private Sub Workbook_BeforeClose(Cancel As Boolean)

If Not Quitter Then

Cancel = True

End If

End Sub





Dans un module du fichier j'ai disposé :



Sub quitter_et_enregistrer()

Workbooks("essai sans croix.xls").Close SaveChanges:=True

End Sub






Sub Pas_la_croix()
Quitter = True
ThisWorkbook.Close
End Sub


La croix est bien inactive, mais la macro quitter et enregistrer ne
fonctionne pas.



Pouvez vous me guider svp



Avec mes remerciements anticipés.

Claude

8 réponses

Avatar
isabelle
bonjour Claude,

Sub quitter_et_enregistrer()
With Workbooks("essai sans croix.xls")
.Save
.Close
End With
End Sub

isabelle

Bonjour,

Je desire empecher l'utilisateur de servir de la croix pour quitter le
fichier.
Pour cela je cree un bouton macro "quitter sans sauvegarder" et
eventuellement un deuxieme "quitter et sauvegarder"

J'ai fait des recherches dans le news group et j'ai trouvé ceci:
Dans Workbook



Private Quitter As Boolean





Private Sub Workbook_BeforeClose(Cancel As Boolean)

If Not Quitter Then

Cancel = True

End If

End Sub





Dans un module du fichier j'ai disposé :



Sub quitter_et_enregistrer()

Workbooks("essai sans croix.xls").Close SaveChanges:=True

End Sub






Sub Pas_la_croix()
Quitter = True
ThisWorkbook.Close
End Sub


La croix est bien inactive, mais la macro quitter et enregistrer ne
fonctionne pas.



Pouvez vous me guider svp



Avec mes remerciements anticipés.

Claude












Avatar
claude HERRMANN
Bonjour isabelle,

Merci de ta sollicitude.
Mais la macro quitter_et_enregistrer ne fonctionne toujours pas. le sablier
se met en route mais le claseeur reste ouvert.

D'autres idées ? moi je suit sec
Claude



"isabelle" a écrit dans le message de news:
%
bonjour Claude,

Sub quitter_et_enregistrer()
With Workbooks("essai sans croix.xls")
.Save
.Close
End With
End Sub

isabelle

Bonjour,

Je desire empecher l'utilisateur de servir de la croix pour quitter le
fichier.
Pour cela je cree un bouton macro "quitter sans sauvegarder" et
eventuellement un deuxieme "quitter et sauvegarder"

J'ai fait des recherches dans le news group et j'ai trouvé ceci:
Dans Workbook



Private Quitter As Boolean





Private Sub Workbook_BeforeClose(Cancel As Boolean)

If Not Quitter Then

Cancel = True

End If

End Sub





Dans un module du fichier j'ai disposé :



Sub quitter_et_enregistrer()

Workbooks("essai sans croix.xls").Close SaveChanges:=True

End Sub






Sub Pas_la_croix()
Quitter = True
ThisWorkbook.Close
End Sub


La croix est bien inactive, mais la macro quitter et enregistrer ne
fonctionne pas.



Pouvez vous me guider svp



Avec mes remerciements anticipés.

Claude













Avatar
isabelle
oups j'ai oublié d'y ajouter Quitter = True

Sub quitter_et_enregistrer()
Quitter = True
With Workbooks("essai sans croix.xls")
.Save
.Close
End With
End Sub

isabelle


Bonjour isabelle,

Merci de ta sollicitude.
Mais la macro quitter_et_enregistrer ne fonctionne toujours pas. le sablier
se met en route mais le claseeur reste ouvert.

D'autres idées ? moi je suit sec
Claude



"isabelle" a écrit dans le message de news:
%

bonjour Claude,

Sub quitter_et_enregistrer()
With Workbooks("essai sans croix.xls")
.Save
.Close
End With
End Sub

isabelle


Bonjour,

Je desire empecher l'utilisateur de servir de la croix pour quitter le
fichier.
Pour cela je cree un bouton macro "quitter sans sauvegarder" et
eventuellement un deuxieme "quitter et sauvegarder"

J'ai fait des recherches dans le news group et j'ai trouvé ceci:
Dans Workbook



Private Quitter As Boolean





Private Sub Workbook_BeforeClose(Cancel As Boolean)

If Not Quitter Then

Cancel = True

End If

End Sub





Dans un module du fichier j'ai disposé :



Sub quitter_et_enregistrer()

Workbooks("essai sans croix.xls").Close SaveChanges:=True

End Sub






Sub Pas_la_croix()
Quitter = True
ThisWorkbook.Close
End Sub


La croix est bien inactive, mais la macro quitter et enregistrer ne
fonctionne pas.



Pouvez vous me guider svp



Avec mes remerciements anticipés.

Claude

















Avatar
claude HERRMANN
Rebonjour,isabelle si encore là,

Encore un oups svp car cela ne fonctionne toujours pas.
J'avoue ne pas comprendre le sub pas la croix.
J'ai disposé sub qutter dans un module avec sub pas la croix.

Le sablier se lance mais le fichier ne ferme pas et ne quitte pas non plus
bien sur.

merci pour l'aide

Claude




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

oups j'ai oublié d'y ajouter Quitter = True

Sub quitter_et_enregistrer()
Quitter = True
With Workbooks("essai sans croix.xls")
.Save
.Close
End With
End Sub

isabelle


Bonjour isabelle,

Merci de ta sollicitude.
Mais la macro quitter_et_enregistrer ne fonctionne toujours pas. le
sablier se met en route mais le claseeur reste ouvert.

D'autres idées ? moi je suit sec
Claude



"isabelle" a écrit dans le message de news:
%

bonjour Claude,

Sub quitter_et_enregistrer()
With Workbooks("essai sans croix.xls")
.Save
.Close
End With
End Sub

isabelle


Bonjour,

Je desire empecher l'utilisateur de servir de la croix pour quitter le
fichier.
Pour cela je cree un bouton macro "quitter sans sauvegarder" et
eventuellement un deuxieme "quitter et sauvegarder"

J'ai fait des recherches dans le news group et j'ai trouvé ceci:
Dans Workbook



Private Quitter As Boolean





Private Sub Workbook_BeforeClose(Cancel As Boolean)

If Not Quitter Then

Cancel = True

End If

End Sub





Dans un module du fichier j'ai disposé :



Sub quitter_et_enregistrer()

Workbooks("essai sans croix.xls").Close SaveChanges:=True

End Sub






Sub Pas_la_croix()
Quitter = True
ThisWorkbook.Close
End Sub


La croix est bien inactive, mais la macro quitter et enregistrer ne
fonctionne pas.



Pouvez vous me guider svp



Avec mes remerciements anticipés.

Claude


















Avatar
isabelle
bonjour Claude,

j'ai modifier un peu comme ça,

'_________________________________
'sur la page code de la feuille

Private Sub CommandButton1_Click()
Quitter = True
quitter_et_enregistrer
End Sub

Private Sub CommandButton2_Click()
Quitter = True
quitter_sans_enregistrer
End Sub
'_________________________________
'sur la page code de ThisWorkbook

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Not Quitter Then
Cancel = True
End If
End Sub
'_________________________________
'sur un module standard

Public Quitter As Boolean

Sub quitter_et_enregistrer()
With ThisWorkbook
.Save
.Close
End With
End Sub

Sub quitter_sans_enregistrer()
Application.DisplayAlerts = False
Quitter = True
ThisWorkbook.Close
Application.DisplayAlerts = True
End Sub
'_________________________________

isabelle

Rebonjour,isabelle si encore là,

Encore un oups svp car cela ne fonctionne toujours pas.
J'avoue ne pas comprendre le sub pas la croix.
J'ai disposé sub qutter dans un module avec sub pas la croix.

Le sablier se lance mais le fichier ne ferme pas et ne quitte pas non plus
bien sur.

merci pour l'aide

Claude


Avatar
claude HERRMANN
Bonsoir Isabelle,

J'ai du mal a te suivre , alors si tu veux bien j'ai quelques questions:
Pourquoi les macros dans le code feuille, et en plus une reprise dans un
module ?

Ceal fonctionne mieux mais pas encore tout a fait.
La supression de la croix c'est OK.
La macro avec enregistrement , enregistre bien mais ne ferme pas.

Alors j'ai joué a l'apprenti sorcier.
J'ai supprime le code feuille, et j'ai modifié le code module. Cela marche
toujours a moitié.

Voici le recapulatif:
_Dnas un module:_______________________________
Public Quitter As Boolean

Sub quitter_et_enregistrer()
ThisWorkbook.Save
Application.DisplayAlerts = False
Quitter = True
ThisWorkbook.Close
Application.DisplayAlerts = True
End Sub

Sub quitter_sans_enregistrer()
Application.DisplayAlerts = False
Quitter = True
ThisWorkbook.Close
Application.DisplayAlerts = True
End Sub
____
Dans le Workbook comme précédement, inchangé:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Not Quitter Then
Cancel = True
End If
End Sub
_________
Autre question (j'en profite)
Que veulent dire les Application.DisplayAlerts que j'ai recopié sans
comprendre ?

Autre problème : Les fichiers sont Fermés et no pas Quittés .Comment faire:
modifier close en quoi donc ?
A quoi sert Quitter = True
Et pourquoi quitter_et_enregistrer ne ferme t'il pas ?

Je me rends compte que cela fait beaucoup de pourquoi,ne trouve tu pas ?
J'espère que ta réponse sera que le probleme est complexe ( de toute manière
pour moi il l'est), et non pas que je suis.....débutant ( ca aussi je le
sais).

Merci d'avance
Claude











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

bonjour Claude,

j'ai modifier un peu comme ça,

'_________________________________
'sur la page code de la feuille

Private Sub CommandButton1_Click()
Quitter = True
quitter_et_enregistrer
End Sub

Private Sub CommandButton2_Click()
Quitter = True
quitter_sans_enregistrer
End Sub
'_________________________________
'sur la page code de ThisWorkbook

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Not Quitter Then
Cancel = True
End If
End Sub
'_________________________________
'sur un module standard

Public Quitter As Boolean

Sub quitter_et_enregistrer()
With ThisWorkbook
.Save
.Close
End With
End Sub

Sub quitter_sans_enregistrer()
Application.DisplayAlerts = False
Quitter = True
ThisWorkbook.Close
Application.DisplayAlerts = True
End Sub
'_________________________________

isabelle

Rebonjour,isabelle si encore là,

Encore un oups svp car cela ne fonctionne toujours pas.
J'avoue ne pas comprendre le sub pas la croix.
J'ai disposé sub qutter dans un module avec sub pas la croix.

Le sablier se lance mais le fichier ne ferme pas et ne quitte pas non
plus bien sur.

merci pour l'aide

Claude




Avatar
isabelle
bonjour Claude,

il y a deux macro dans la page code de la feuille car tu m'avais dit
qu'il y avait deux boutons, et j'ai présumé qu'il provenait de la barre
à outils controle.

voici un lien pour le fichier exemple.
http://cjoint.com/?frwF5LYvM2

isabelle

Bonsoir Isabelle,

J'ai du mal a te suivre , alors si tu veux bien j'ai quelques questions:
Pourquoi les macros dans le code feuille, et en plus une reprise dans un
module ?

Ceal fonctionne mieux mais pas encore tout a fait.
La supression de la croix c'est OK.
La macro avec enregistrement , enregistre bien mais ne ferme pas.

Alors j'ai joué a l'apprenti sorcier.
J'ai supprime le code feuille, et j'ai modifié le code module. Cela marche
toujours a moitié.

Voici le recapulatif:
_Dnas un module:_______________________________
Public Quitter As Boolean

Sub quitter_et_enregistrer()
ThisWorkbook.Save
Application.DisplayAlerts = False
Quitter = True
ThisWorkbook.Close
Application.DisplayAlerts = True
End Sub

Sub quitter_sans_enregistrer()
Application.DisplayAlerts = False
Quitter = True
ThisWorkbook.Close
Application.DisplayAlerts = True
End Sub
____
Dans le Workbook comme précédement, inchangé:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Not Quitter Then
Cancel = True
End If
End Sub
_________
Autre question (j'en profite)
Que veulent dire les Application.DisplayAlerts que j'ai recopié sans
comprendre ?

Autre problème : Les fichiers sont Fermés et no pas Quittés .Comment faire:
modifier close en quoi donc ?
A quoi sert Quitter = True
Et pourquoi quitter_et_enregistrer ne ferme t'il pas ?

Je me rends compte que cela fait beaucoup de pourquoi,ne trouve tu pas ?
J'espère que ta réponse sera que le probleme est complexe ( de toute manière
pour moi il l'est), et non pas que je suis.....débutant ( ca aussi je le
sais).

Merci d'avance
Claude











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


bonjour Claude,

j'ai modifier un peu comme ça,

'_________________________________
'sur la page code de la feuille

Private Sub CommandButton1_Click()
Quitter = True
quitter_et_enregistrer
End Sub

Private Sub CommandButton2_Click()
Quitter = True
quitter_sans_enregistrer
End Sub
'_________________________________
'sur la page code de ThisWorkbook

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Not Quitter Then
Cancel = True
End If
End Sub
'_________________________________
'sur un module standard

Public Quitter As Boolean

Sub quitter_et_enregistrer()
With ThisWorkbook
.Save
.Close
End With
End Sub

Sub quitter_sans_enregistrer()
Application.DisplayAlerts = False
Quitter = True
ThisWorkbook.Close
Application.DisplayAlerts = True
End Sub
'_________________________________

isabelle


Rebonjour,isabelle si encore là,

Encore un oups svp car cela ne fonctionne toujours pas.
J'avoue ne pas comprendre le sub pas la croix.
J'ai disposé sub qutter dans un module avec sub pas la croix.

Le sablier se lance mais le fichier ne ferme pas et ne quitte pas non
plus bien sur.

merci pour l'aide

Claude









Avatar
claude HERRMANN
Bonsoir isabelle,

Merci beaucoup. Ton exemple est exactement la solution, sauf que je desire
quitter, mais cela je pense que je le trouverai tout seul dans l'aide de
excel.
Il ne faudrai, sous pretexte que vous etes vraiment formidables que l'on se
laisse aller a devenir paresseux. Ce n'est pas encore les vacances.

Encore merci mille fois et tres cordialement
Claude

"isabelle" a écrit dans le message de news:
%
bonjour Claude,

il y a deux macro dans la page code de la feuille car tu m'avais dit qu'il
y avait deux boutons, et j'ai présumé qu'il provenait de la barre à outils
controle.

voici un lien pour le fichier exemple.
http://cjoint.com/?frwF5LYvM2

isabelle

Bonsoir Isabelle,

J'ai du mal a te suivre , alors si tu veux bien j'ai quelques questions:
Pourquoi les macros dans le code feuille, et en plus une reprise dans un
module ?

Ceal fonctionne mieux mais pas encore tout a fait.
La supression de la croix c'est OK.
La macro avec enregistrement , enregistre bien mais ne ferme pas.

Alors j'ai joué a l'apprenti sorcier.
J'ai supprime le code feuille, et j'ai modifié le code module. Cela
marche toujours a moitié.

Voici le recapulatif:
_Dnas un module:_______________________________
Public Quitter As Boolean

Sub quitter_et_enregistrer()
ThisWorkbook.Save
Application.DisplayAlerts = False
Quitter = True
ThisWorkbook.Close
Application.DisplayAlerts = True
End Sub

Sub quitter_sans_enregistrer()
Application.DisplayAlerts = False
Quitter = True
ThisWorkbook.Close
Application.DisplayAlerts = True
End Sub
____
Dans le Workbook comme précédement, inchangé:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Not Quitter Then
Cancel = True
End If
End Sub
_________
Autre question (j'en profite)
Que veulent dire les Application.DisplayAlerts que j'ai recopié sans
comprendre ?

Autre problème : Les fichiers sont Fermés et no pas Quittés .Comment
faire: modifier close en quoi donc ?
A quoi sert Quitter = True
Et pourquoi quitter_et_enregistrer ne ferme t'il pas ?

Je me rends compte que cela fait beaucoup de pourquoi,ne trouve tu pas ?
J'espère que ta réponse sera que le probleme est complexe ( de toute
manière pour moi il l'est), et non pas que je suis.....débutant ( ca
aussi je le sais).

Merci d'avance
Claude











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


bonjour Claude,

j'ai modifier un peu comme ça,

'_________________________________
'sur la page code de la feuille

Private Sub CommandButton1_Click()
Quitter = True
quitter_et_enregistrer
End Sub

Private Sub CommandButton2_Click()
Quitter = True
quitter_sans_enregistrer
End Sub
'_________________________________
'sur la page code de ThisWorkbook

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Not Quitter Then
Cancel = True
End If
End Sub
'_________________________________
'sur un module standard

Public Quitter As Boolean

Sub quitter_et_enregistrer()
With ThisWorkbook
.Save
.Close
End With
End Sub

Sub quitter_sans_enregistrer()
Application.DisplayAlerts = False
Quitter = True
ThisWorkbook.Close
Application.DisplayAlerts = True
End Sub
'_________________________________

isabelle


Rebonjour,isabelle si encore là,

Encore un oups svp car cela ne fonctionne toujours pas.
J'avoue ne pas comprendre le sub pas la croix.
J'ai disposé sub qutter dans un module avec sub pas la croix.

Le sablier se lance mais le fichier ne ferme pas et ne quitte pas non
plus bien sur.

merci pour l'aide

Claude