Microsoft 365 Désactiver temporairement l'impossibilité de renommer une feuille

AD95

XLDnaute Junior
Bonjour,

J'ai intégré dans une feuille le code ci-dessous pour empêcher qu'on renomme la feuille sauf que j'ai besoin de copier cette même feuille dans un nouveau classeur (en faisant un clique sur la feuille Déplacer/Copier...) mais en faisant ça il me copie la feuille avec le code sans pourvoir changer le nom de la feuille dans le nouveau classeur. sachant que la copie de cette feuille doit se faire via un code vba

Comment je peux copier cette feuille sans que ce code soit actif ou bien de rajouter une condition pour lui dire de stopper temporairement cette impossibilité de modifier le nom de la feuille



Private Sub worksheet_SelectionChange(ByVal Target As Excel.Range)
'Empêcher de changer le nom de la feuille
If ActiveSheet.Name <> "Source Then
ActiveSheet.Name = "Source"
End If
End Sub
 
Solution
Bonjour job75,

Non non j'ai bien les 2 une protection pour les feuilles et une autre pour le classeur. J'ai trouvé la solution du coup j'ai placé mon bout de code à des endroits bien précis c'est un peu plus long mais ça marche :). Merci beaucoup.

job75

XLDnaute Barbatruc
Bonjour AD95,

La procédure normale pour éviter que les feuilles soient renommées c'est de protéger le classeur.

Déprotégez-le si vous voulez déplacer ou copier une feuille.

Maintenant si vous voulez désactiver une macro insérez Exit Sub en 2ème ligne.

A+
 

AD95

XLDnaute Junior
Bonjour AD95,

La procédure normale pour éviter que les feuilles soient renommées c'est de protéger le classeur.

Déprotégez-le si vous voulez déplacer ou copier une feuille.

Maintenant si vous voulez désactiver une macro insérez Exit Sub en 2ème ligne.

A+
Bonjour Job75,

Merci pour ton retour. Effectivement, c'est ce que j'ai voulu faire au début mais, j'ai un fichier avec bcp de feuilles contenant plein de macro qui sont à la fois dissociés et liées à certaines feuilles j'ai mis en place une protection de feuille sur la plupart des feuilles contenant des boutons d'exécution et pour chaque exécution j'ai mis un petit code pour ôter la protection de la feuille à l'exécution et protéger la feuille à la fin de l'exécution de la macro. Avec la protection de classeur c'est trop compliquer il me fait planter quelque macro il faut que j'aille macro par macro ligne par ligne pour activer/désactiver la protection classeur (y a trop de macro) 🤪

c'est pour ça que je voulais cible la feuille avec le code ci-dessous et mettre une condition 😅

Private Sub worksheet_SelectionChange(ByVal Target As Excel.Range)
'Empêcher de changer le nom de la feuille
If ActiveSheet.Name <> "Source Then
ActiveSheet.Name = "Source"
End If
End Sub
 

AD95

XLDnaute Junior
Bonjour job75,

Non non j'ai bien les 2 une protection pour les feuilles et une autre pour le classeur. J'ai trouvé la solution du coup j'ai placé mon bout de code à des endroits bien précis c'est un peu plus long mais ça marche :). Merci beaucoup.
 

Discussions similaires

Réponses
9
Affichages
146

Statistiques des forums

Discussions
313 289
Messages
2 096 848
Membres
106 766
dernier inscrit
jBa2023