Conflit entre macro

Bonjour

voici une macro pour désactiver la fermeture d'exel par la croix

Public fermeture As Boolean

Private Sub Workbook_BeforeClose(Cancel As Boolean)

If fermeture = False Then Cancel = True

End Sub

mais du coup sa coupe ma macro que je mis sur mon boutton

Sub Au_revoir()

Dim Sht As Worksheet
[_users] = "Invité"
' Réinitialiser le nombre de tentatives possible
Sheets("Gestion des accès").Range("C1").Value = 3
' Afficher la feuille d'accueil
ThisWorkbook.Sheets("Accueil").Visible = xlSheetVisible
' Masquer toutes les autres
For Each Sht In ThisWorkbook.Sheets
If Sht.Name <> "Accueil" Then Sht.Visible = xlSheetVeryHidden
Next Sht
ActiveWorkbook.Save ' enregistre
ThisWorkbook.fermeture = True cela empêche cette ligne de fonctionner
End Sub

Hello,

Il faut déclarer ta variable fermeture dans ton module (variable globale)

Puis lui passer la valeur à True, comme ci-dessous :

Public fermeture As Boolean
Sub Au_revoir()
Dim Sht As Worksheet
[_users] = "Invité"
' Réinitialiser le nombre de tentatives possible
Sheets("Gestion des accès").Range("C1").Value = 3
' Afficher la feuille d'accueil
ThisWorkbook.Sheets("Accueil").Visible = xlSheetVisible
' Masquer toutes les autres
For Each Sht In ThisWorkbook.Sheets
If Sht.Name <> "Accueil" Then Sht.Visible = xlSheetVeryHidden
Next Sht
ActiveWorkbook.Save ' enregistre
fermeture = True
ThisWorkbook.Close
End Sub

Bonjour

Désoler ma sa ne marche toujours pas

la croix est bien bloquer

et quant je clique sur mon bouton il est sensé enregistré, déconnecté, et quitter.

enregistré et déconnecté fonctionne mais toujours pas quitter

Hello,

Tu as combien de classeurs ouverts pendant l'exécution de ta macro ?

1 seul

Rechercher des sujets similaires à "conflit entre macro"