Nom des feuilles

Le
Ptit Louis
Bonjour,

Je finis un dossier pour lequel je ne souhaite pas que l'utilisateur modifie
le nom de certaines feuilles puisque VBA travaille avec leurs noms précis.
J'ai interdit la commande "Renommer" mais la modification directe du nom
dans l'onglet est encore active.
Comment verrouiller cet accès.
Merci de vos réponses.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichDenis
Le #5338951
A ) Pour empêcher de renommer les feuilles, tu peux
simplement protéger le classeur et non les feuilles
barre des menus / outils / Protection / protéger le classeur /
et tu coches "structure"

B ) Tu peux laisser les usagers s'amuser à modifier le nom des
onglets de la feuille mais dans ton code, utiliser le nom de la
propriété "name" de l'objet "Feuil"

Pour ce faire, quand tu regardes dans la section de gauche, tu vois
toutes les objets feuilles écrits de cette manière :

Feuil1(Feuil1)
le premier Feuil1 -> propriété Name de l'objet Feuil1
le deuxième feuil1 entre parenthèses représente le nom de l'onglet de la feuille.

Dans ton code, au lieu d'écrire

With worksheets("Feuil1") .... (Nom de l'onglet)
ou worksheets("Feuil1").range("A1")....


Tu utilises le nom de la propriété Name
With Feuil1... tout simplement

Ou autre exemple . Feuil1.range("A5").....

A ) En utilisant seulement le nom de l'objet, tu vas même accélérer
l'exécution du code
B ) Tu auras la liste déroulante qui apparaîtra en tout temps lors de la saisie du code



"Ptit Louis"
Bonjour,

Je finis un dossier pour lequel je ne souhaite pas que l'utilisateur modifie
le nom de certaines feuilles puisque VBA travaille avec leurs noms précis.
J'ai interdit la commande "Renommer" mais la modification directe du nom
dans l'onglet est encore active.
Comment verrouiller cet accès.
Merci de vos réponses.
ChrisV
Le #5122881
Bonjour Ptit Louis,

Soluce alternative parmi d'autres...
Dans l'onglet de la feuille concernée, en supposant que la feuille se
nomme"zaza", et qu'il s'agisse de la Feuil1 (propriété "name" de l'objet
"Feuil", telle que l'a indiquée Denis que je salue au passage...)

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


"Ptit Louis" news:
Bonjour,

Je finis un dossier pour lequel je ne souhaite pas que l'utilisateur
modifie
le nom de certaines feuilles puisque VBA travaille avec leurs noms précis.
J'ai interdit la commande "Renommer" mais la modification directe du nom
dans l'onglet est encore active.
Comment verrouiller cet accès.
Merci de vos réponses.



Publicité
Poster une réponse
Anonyme