Rendre inactive la croix rouge feuille Excel

Bonjour a tous , voici mon soucie . Je souhaiterai rendre inactive la croix rouge sur un classeur Excel afin d'utiliser un bouton de fermeture.

voici les codes utilisés mais je tourne en rond et je ne parviens pas à fermer le classeur :

merci de votre aide : Joan

Private Sub Workbook_BeforeClose(Cancel As Boolean)

Dim Libelle As String

If close_mode = vbFormControlMenu Then

MsgBox " Veuillez utiliser le bouton " & Chr(13) & Chr(10) & Chr(10) & " * Fermeture du Tableau et Sauvegarde *", _

vbInformation, "Avertissement"

Cancel = True

End If

End Sub

module 1

Sub Fermer_Tableau()

ret = MsgBox(" Fermer le tableau ?", vbYesNo + vbDefaultButton2)

If ret - vbYes Then

Exit Sub

Else

End If

ActiveWorkbook.Save

Range("B6").Select

Application.Quit

End Sub

Bonjour Joan066 et le forum

il y a un bug dans le code que j'avais mis désolé je cherche la cause

j'ai fait un peu de recherche et voici un fichier que fred2406 a mis dans sa réponse de ce post https://forum.excel-pratique.com/excel/cacher-la-croix-de-fermeture-d-un-userform-t75477.html

et le fichier direct

https://forum.excel-pratique.com/download/file.php?id=118007

il y a aussi ce lien https://forum.excel-pratique.com/excel/suprimer-la-croix-rouge-sur-une-userform-t28434.html

et bien d'autres en furetant dans la recherche en haut a droite du post

ou sinon si tu veux dire a l'utilisateur qu'il ne peux pas fermerpar la croix il y a ce code

Private Sub Userform_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = 0 Then MsgBox "Vous pouvez pas quitter par ici"
    Cancel = CloseMode = 0
End Sub

que Myta a donner dans ce post

https://forum.excel-pratique.com/excel/le-croix-fermeture-dans-un-userform-t1322.html

Bonsoir,

Si tu veux obliger à passer par un bouton pour fermer, pourquoi ne ferais-tu pas tout simplement :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    If MsgBox(" Fermer le tableau ?", vbYesNo + vbDefaultButton2) = vbYes Then
        ActiveWorkbook.Save
        Application.Quit
    Else
        Cancel = True
    End If
End Sub

et :

Sub Fermer_Tableau()
    ActiveWorkbook.Close
End Sub

Cordialement.

bonsoir MFerrand

le code tu vient de donner où je ne saisi pas où il faut le mettre ou je ne comprend pas sa fonction

quand l'userform s'initialise il ne se passe rien ni a sa fermeture par contre a la fermeture du classeur il demande si je veux fermer le tableau

Aïe !

Il n'est pas question de Userform dans ce sujet ! (ou aurais-je mal lu ?)

Il s'agit de fermer le classeur.

bonsoir MFerrand

je te rassure c'est moi qui ai mal lu je suis hors sujet

Pas grave

Bonsoir a tous, après quelque essais je ne parviens pas a trouver le bon code pour rendre inactif la croix rouge de fermeture d'une feuille Excel.

Voici mon projet en pièces jointe

merci pour toute l'aide que vous m’apporterais.

Cordialement Joan

99sauvegarde.zip (8.97 Ko)

Bonsoir,

Je t'ai proposé un système simpliste qui ne correspond sans doute pas à ce que tu as décidé de vouloir faire mais quii a le mérite de fonctionner fiablement sans créer de problèmes par ailleurs.

Il n'y a pas lieu de se focaliser sur un bouton, en soi un bouton n'a aucune importance, ce qui compte c'est la procédure qu'il lance, dont tu estimes qu'elle doit l'être avant fermeture. L'objectif est donc dans tous les cas de passer par cette procédure.

[Si la problématique est autre, je sortirai de la discussion, considérant que cela n'a aucun intérêt. L'intérêt c'est la maîtrise de la fermeture du classeur quand il y a un objectif pour ne le faire qu'à certaines conditions, la question de supprimer la croix ou la rendre inopérante est d'ordre purement esthétique. Cela peut faire un certain plaisir de manipuler des fonctions API, et c'est dans certains cas nécessaires quand il n'y a pas d'autre moyen, mais ne disposant pas de la documentation professionnelle afférante complète, on est réduit à aller à la pêche aux paramètres qui conviennent et l'utilisation se fait dans des conditions plus ou moins précaires dans la mesure où on ne la maîtrise pas pleinement...]

Il existe une procédure qui permet d'intercepter la fermeture du classeur, et c'est là que tu peux intervenir pour y placer le code que tu veux exécuter avant, parce que toute action conduisant à la femeture passera par là.

Evidemment, il faut définir clairement les conditions aboutissant à valider ou non la fermeture. Si ce qui est à faire avant de fermer ne nécessite pas l'intervention de l'utilisateur, la procédure le fait, puis la fermeture intervient. Si l'intervention de l'utilisateur est requise, dans ce cas il convient de pouvoir tester qu'elle a eu lieu conformément à ce qui était attendu, et on ne ferme que si la condition est satisfaite, tant qu'elle ne l'est pas on bloque alors la fermeture.

En ce qui concerne ton code, celui de BeforeClose est totalement à reprendre : tu utilises des paramètres qui ne concernent que Microsoft Forms et qu'Excel ne reconnaît pas, et il ne faut annuler la fermeture que sous condition sans quoi tu t'interdis de fermer ce qui n'est pas le but. La procédure que tu associes au bouton est à déplacer vers BeforeClose, où elle sera opérante (j'espère que tu y mets autre chose qu'un enregistrement du classeur ! car là une simple instruction ThisWorkbook.Save suffisait et tout ce déploiement n'avait pas lieu d'être...), le bouton n'est alors plus là que pour diriger vers la fermeture où tout va se faire.

Cordialement.

Bonjour MFerrand , merci pour avoir répondu a mon message . Je recherche autres solutions a mon problème avec le code ThisWorkbook.Save .

Cordialement Joan

bonjour Joan066, MFerrand

maintenant je comprends mieux pourquoi je me suis trompé c'est la croix du classeur que Joan066 veux rendre inactive et qui n'est pas une croix rouge mais noire, le croix rouge étant sur l'usf

Bonjour à tous,

Je ne sais pas si le sujet est toujours d'actualité, mais pour ma part j'ai réussi à désactiver/réactiver la croix sur n'importe quelle fenêtre (Excel ou pas, j'ai fait le test sur adobe reader). Es-ce bien la question qui est toujours d'actualité?

Rechercher des sujets similaires à "rendre inactive croix rouge feuille"