Masquer le bouton permettant d'insérer une nouvelle feuille

simraill

XLDnaute Occasionnel
Bonjour à tous,
Voici mon nouveau poblème du jour :D !

Souhaitant empécher l'utilisateur d'insérer, renomer, supprimer un feuille, j'ai insérer ce bout de code dans Thisworkbook
Code:
Private Sub Workbook_Activate()
   MajMenus
End Sub
 
Private Sub Workbook_Deactivate()
    MajMenus True
End Sub
 
Private Sub Workbook_Open()
   MajMenus
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    If ActiveSheet.ProtectContents = False Then
        MajMenus True
    Else
        MajMenus
    End If
End Sub
Private Sub Workbook_Close()
   MajMenus True
End Sub
 
Private Sub MajMenus(Optional bForceEnable As Boolean = False)
Dim c As CommandBarControl
For Each c In Application.CommandBars.FindControls(ID:=889) 'Commande "Rename"
    c.Enabled = bForceEnable
Next c
For Each c In Application.CommandBars.FindControls(ID:=847) 'Commande "Delete"
    c.Enabled = bForceEnable
Next c
For Each c In Application.CommandBars.FindControls(ID:=945) 'Commande "Insert"
    c.Enabled = bForceEnable
Next c

End Sub

Cela à pour effet de ne pas activer ces commandes quand on fait un clic droit sur le nom de la feuille.

Ca fonctionne parfaitement, mais petit hic, l'utilisateur a toujours la possibilité d'ajouter une nouvelle feuille grâce au bouton qui se situe après la dernière feuille...

Comment faire pour masquer ce bouton ou le rendre inactif?

Merci à tous ceux qui voudront bien m'aider ;) !
 

tototiti2008

XLDnaute Barbatruc
Re : Masquer le bouton permettant d'insérer une nouvelle feuille

Bonjour simraill,

Un autre solution sans VBA pourrait être de protéger le classeur
Onglet Révision - Protéger le classeur
Cocher Structure
Taper éventuellement un mot de passe
OK

Edit : Bonjour Dormeur :)
 

simraill

XLDnaute Occasionnel
Re : Masquer le bouton permettant d'insérer une nouvelle feuille

Bonjour Dormuer74 et tototiti2008,

Tu as raison Dormeur, j'ai mis un fichier d'exemple.

Tototiti, en protégeant le classeur je ne peux plus utiliser certaine fonction qui sont necessaire comme Hide/Unhide, Tab color etc... Et même en mettant un mot de passe, c'est du tout ou rien, ça ne me convient pas.
 

Pièces jointes

  • Exemple.xlsm
    15.4 KB · Affichages: 40
  • Exemple.xlsm
    15.4 KB · Affichages: 48
  • Exemple.xlsm
    15.4 KB · Affichages: 46

tototiti2008

XLDnaute Barbatruc
Re : Masquer le bouton permettant d'insérer une nouvelle feuille

Re,

Pour avoir vu passer quelques macros qui désactivent les commandes, je sais que le danger est que ces commandes soient désactivées sur un classeur qui en a besoin, mais à toi de voir... sans compter qu'on risque d'en oublier
Qu'en est-il de Maj+F11 ?

Je ne sais pas désactiver juste le petit onglet de nouvelle feuille, mais tu pourrais envisager de travailler sur l'évènement de création de feuille, peut-être

dans Thisworkbook :
Code:
Private Sub Workbook_NewSheet(ByVal Sh As Object)

End Sub

Edit : Bonjour Mutzik :)
 

simraill

XLDnaute Occasionnel
Re : Masquer le bouton permettant d'insérer une nouvelle feuille

Re tout le monde,

Oui c'est vrai qu'il reste la combinaison Maj+F11, mais étant donné que j'ai intégré sur ma feuille un bouton avec une macro qui permet de créer une nouvelle feuille avec le format souhaité etc, l'utilisateur ne devrait pas faire Maj+F11.

Je voulait surtout enlever ce petit onglet par excés de zèle ;)!

Tant pis, si quelqu'un crée une nouvelle feuille sans passer par ma commande, mon fichier buggera et sois il fermera discretos sans enregistrer, sois il viendra crier à l'aide et je réparerais le truc :)!!

Merci de votre aide en tout cas.
 

Discussions similaires

Statistiques des forums

Discussions
312 488
Messages
2 088 838
Membres
103 972
dernier inscrit
steeter