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
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" a écrit dans le message de news:62a801c42e29$26417f60$
Comment interdire en VBA la possibilité de renomer une feuille ?
merci.
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" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:62a801c42e29$26417f60$a501280a@phx.gbl...
Comment interdire en VBA la possibilité de renomer une
feuille ?
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" a écrit dans le message de news:62a801c42e29$26417f60$
Comment interdire en VBA la possibilité de renomer une feuille ?
merci.
isabelle
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.
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 ?
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
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,
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
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
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.
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 ?
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
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" <"il_était_une_fois......."@..> a écrit dans le message de 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.
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" <"il_était_une_fois......."@..> a écrit dans le message de
news:4091CA4F.8E0C0B79@.....
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 ?
- 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" <"il_était_une_fois......."@..> a écrit dans le message de 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
:-)))
Pas changé JP ! tant mieux..!
ChrisV
"sabatier" a écrit dans le 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,
:-)))
Pas changé JP !
tant mieux..!
ChrisV
"sabatier" <biscotteUnScudJjpsabatdelaile@wanadoo.fr> a écrit dans le
message de news:4091FB0C.9050701@wanadoo.fr...
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
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
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" a écrit dans le message de news:62a801c42e29$26417f60$
Comment interdire en VBA la possibilité de renomer une feuille ?
merci.
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" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:62a801c42e29$26417f60$a501280a@phx.gbl...
Comment interdire en VBA la possibilité de renomer une
feuille ?
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" a écrit dans le message de news:62a801c42e29$26417f60$
Comment interdire en VBA la possibilité de renomer une feuille ?