Interdire renomage feuille....

Le
Dush
Comment interdire en VBA la possibilit de renomer une
feuille ?

merci.
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Benead
Le #1343245
Salut Dush,

Il faut protéger le classeur :
ActiveWorkbook.Protect Password:="zaza", Structure:=True

Mais cela pose d'autres contraintes (Impossible d'ajouter des feuilles, de les déplacer...)

--
A+
Benead
Bretagne
Xl97
-------- ;-)
Dush a écrit:
Comment interdire en VBA la possibilité de renomer une
feuille ?

merci.


ChrisV
Le #1328866
Bonjour Dush, bonjour à tous,

juste en passant...

Autres soluces possibles, afin d'éviter les contraintes énoncées par
Benead...
(en supposant que l'on désire rendre impossible le "renommage" de la Feuil1
(zaza) par autre chose)

(méthode bof, car pas dynamique...)
Modifier le nom à chaque activation (ou désactivation) de la feuille en
plaçant le code suivant dans la feuille concernée:

Private Sub Worksheet_Activate()
Me.Name = "zaza"
End Sub


Ou, (en dynamique...) dans une feuille quelconque du classeur, saisir la
fonction =MAINTENANT() puis cacher cette feuille en mettant sa propriété
Visible à VeryHidden, puis dans la feuille de code de ThisWorkbook

Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
If Feuil1.Name <> "zaza" Then
With Application
.EnableEvents = False
Feuil1.Name = "zaza"
.EnableEvents = True
End With
End If
End Sub


ChrisV


"Dush" news:62a801c42e29$26417f60$

Comment interdire en VBA la possibilité de renomer une
feuille ?

merci.
isabelle
Le #1328865
bonjour dush,

une autre solution serait, à l'ouverture du classeur, de grisé les deux
commandes Renommer. et de les remettre en fonction à la fermeture.

Private Sub Workbook_Open()
Application.CommandBars("Ply").Controls("&Renommer").Enabled = False
Application.CommandBars("Worksheet Menu Bar").Controls("Forma&t") _
.Controls("&Feuille").Controls("&Renommer").Enabled = False
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.CommandBars("Ply").Controls("&Renommer").Enabled = True
Application.CommandBars("Worksheet Menu Bar").Controls("Forma&t") _
.Controls("&Feuille").Controls("&Renommer").Enabled = True
End Sub

isabelle


Comment interdire en VBA la possibilité de renomer une
feuille ?

merci.


sabatier
Le #1328681
bonjour, chris...
toujours aussi matinal à ce que je vois...
kestifi en ce moment qu'on ne te voit plus? tu as adhéré à un groupe de
danseurs de sardanes ou quoi? tu me diras, ça nous changera peu de
laurent D qui lui, fait partie maintenant d'un groupe de sardines où il
s'active eu eaux troubles...
jps

ChrisV a écrit:
bonjour à tous,



sabatier
Le #1328680
troisième solution :
dire au charlot qui voudrait renommer la feuille :
si tu fais un truc pareil, tu prends la porte...
c'est d'ailleurs en ordonnant cela que j'ai pu monter ma propre usine
d'huisseries ; ils étaient nombreux a m'apporter la porte qu'ils avaient
prise
jps

isabelle a écrit:
bonjour dush,

une autre solution serait, à l'ouverture du classeur, de grisé les deux
commandes Renommer. et de les remettre en fonction à la fermeture.

Private Sub Workbook_Open()
Application.CommandBars("Ply").Controls("&Renommer").Enabled = False
Application.CommandBars("Worksheet Menu Bar").Controls("Forma&t") _
..Controls("&Feuille").Controls("&Renommer").Enabled = False
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.CommandBars("Ply").Controls("&Renommer").Enabled = True
Application.CommandBars("Worksheet Menu Bar").Controls("Forma&t") _
..Controls("&Feuille").Controls("&Renommer").Enabled = True
End Sub

isabelle


Comment interdire en VBA la possibilité de renomer une
feuille ?

merci.





ChrisV
Le #1328485
Salut Isabelle,

Seuls petits soucis...

- cela n'interdit pas le double-clic sur l'onglet afin de le renommer...
- impossible de renommer une autre feuille du classeur...
- plus possible de renommer une feuille d'un autre classeur
ouvert tant que celui qui contient la procédure n'est pas fermé...


ChrisV


"isabelle" news:
bonjour dush,

une autre solution serait, à l'ouverture du classeur, de grisé les deux
commandes Renommer. et de les remettre en fonction à la fermeture.

Private Sub Workbook_Open()
Application.CommandBars("Ply").Controls("&Renommer").Enabled = False
Application.CommandBars("Worksheet Menu Bar").Controls("Forma&t") _
.Controls("&Feuille").Controls("&Renommer").Enabled = False
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.CommandBars("Ply").Controls("&Renommer").Enabled = True
Application.CommandBars("Worksheet Menu Bar").Controls("Forma&t") _
.Controls("&Feuille").Controls("&Renommer").Enabled = True
End Sub

isabelle


Comment interdire en VBA la possibilité de renomer une
feuille ?

merci.




ChrisV
Le #1328481
:-)))

Pas changé JP !
tant mieux..!


ChrisV


"sabatier" message de news:
bonjour, chris...
toujours aussi matinal à ce que je vois...
kestifi en ce moment qu'on ne te voit plus? tu as adhéré à un groupe de
danseurs de sardanes ou quoi? tu me diras, ça nous changera peu de
laurent D qui lui, fait partie maintenant d'un groupe de sardines où il
s'active eu eaux troubles...
jps

ChrisV a écrit:
bonjour à tous,






Thierry Euzenot
Le #1343201
Si comme je l'imagine ton soucis c'est que lorsqu'un utilisateur change le
nom de la feuille tes macros ne fonctionnent plus il existe une solution
simple :

Hypothèse :
Ta feuille se nomme "toto"
Mais elle a aussi un ID que l'on voit dans les propriétés de la feuille dans
la rubrique (name) et qui de base est : Feuil1 à FeuilX

Et ce nom là est impossible à modifier pour un néophite qui n'a pas accès
aux macros.

Donc ton instruction qui au départ devait être :
Sheets("toto").Range("A1")

devient si tu utilise l'ID de la feuille :
Feuil1.Range("A1")

Et en plus c'est plus rapide à coder :o)

Voilà j'espère que j'ai vu juste ^^



"Dush" news:62a801c42e29$26417f60$

Comment interdire en VBA la possibilité de renomer une
feuille ?

merci.
Publicité
Poster une réponse
Anonyme