XL 2016 Empêcher suppression onglet VBA

Hx2000

XLDnaute Nouveau
Bonjour à tous,

Petit soucis pour moi aujourd'hui, j'aimerais en fait empêcher la suppression d'un onglet excel (tous les onglets en fait). Je suis débutant en VBA, donc merci d'essayer d'être assez explicite ahah. J'ai trouvé un début de code d'une autre discussion (ci-joint) pour empêcher la suppression d'une feuille, j'ai réussi à empêcher la suppression de plusieurs feuilles, mais dès que je veux rentrer le code dans MON fichier, plus rien ne marche...

Pourtant, il me semble que la partie (Feuil2.name) signifie que quelque soit le nom de la feuille, ce n'est pas dérangeant. Donc dans mon programme, je voulais empêcher la suppression de la feuille "Legende". Son Code.Name est "Feuil3" donc je remplace Feuil2 par Feuil3, et le feuil2.activate par feuil2 (pour m'afficher l'accueil lors de la tentative de suppression).

Cependant, cela ne fonctionne pas. Imaginons que j'essaie de supprimer la feuille "Legende", elle se supprime, et là la fonction de débogage se lance en me disant que j'ai pas déclaré la variable "Feuil3".

Des solutions? Merci d'avance pour votre aide, je ne vous joins pas mon fichier pour des raisons de confidentialité, mais en cas de réelle nécessité, je peux le modifier de façon à vous l'envoyer. En attendant, voici le premier fichier que j'ai trouvé sur une autre conversation
 

Pièces jointes

  • sup feuille.xls
    42.5 KB · Affichages: 58

DoubleZero

XLDnaute Barbatruc
Bonjour, Hx2000, Robert :), le Forum,

Si d'autres personnes ont accès au fichier, l'obligation d'activer les macros s'impose.
VB:
Option Explicit
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
  If Sheets.Count <> 4 Then MsgBox "L'ajout et la suppression d'onglet ne sont pas autorisés. Les modifications seront perdues !": ThisWorkbook.Close False ' nombre adapter
End Sub
Inconvénient : l'ajout d'onglet(s) n'est permis qu'après avoir modifié le nombre mentionné dans le code.

A bientôt :)
 

Hx2000

XLDnaute Nouveau
Bonjour à tous merci de vos réponses!

Robert, malheureusement c'est pas possible pour moi, d'autres macros font que je ne peux pas utiliser cette option....

Merci à vous DoubleZero, c'est super, toute façon je ne comptais pas ajouter d'onglets, je vais peut être du coup pouvoir alléger la macro, j'essaierais tout ça demain quand je serais de retour au travail.

Merci encore à vous 2!
 

Hx2000

XLDnaute Nouveau
Bon, merci quand même mais cela ne marche pas, à chaque fois une fenêtre s'affiche pour me dire : 'Erreur de compilation dans le module caché : ThisWorkbook...
Ca fait 3h je suis dessus et toujours rien de fonctionnel... Dommage
 

Discussions similaires