Protéger complètement un onglet

Bonjour tout le monde !

Si une âme charitable sait comment solutionner le problème suivant, je lui tire mon chapeau (à lire en entier !!) :

J'ai un classeur qui représente un petit bébé puisqu'il est un outil formidable pour mon boulot. Toutefois, je vais être amené occasionnellement à le partager avec des collègues pour qu'ils l'utilisent. Je n'ai cependant pas envie de masquer/verrouiller toutes les cellules contenant des formules car chacun doit pouvoir apporter des modifications suivant les cas particuliers de chacun...

J'ai donc, de manière à ce que personne ne se l'approprie complètement (quad même, c'est un sacré bébé !), crée un onglet de page d'accueil, qui indique par qui il a été développé, etc.

Mon problème réside dans la protection INTEGRALE de cet onglet, je m'explique :

  • Toutes les cellules sont verrouillées par mot de passe (protection de feuille)
    Une macro empêche la suppression de l'onglet (voir code en bas)
    Un mot de passe protège l'accès aux macros (donc pas possible de supprimer le code)

Par contre, j'ai fait clique droit sur l'onglet, "déplacer ou copier l'onglet", et je l'ai déplacé dans une nouvelle feuille sans le copier. Résultat ma feuille "page de garde" est supprimée de mon bébé, qui devient donc orphelin...

Quelqu'un aurait-il une idée de la manière donc on peux protégé absolument un onglet, ou à défaut me proposer une autre solution? Merci d'avance

code macro :

Private Const FEUILLE_CODENAME As String = "Feuil9"
Private WithEvents CBBEvents As CommandBarButton

Private Sub CBBEvents_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean)
If Ctrl.ID = 847 Then
  If ActiveSheet.CodeName = FEUILLE_CODENAME Then
    CancelDefault = True
    MsgBox "Impossible de supprimer la feuille " & ActiveSheet.Name
  End If
End If
End Sub

Private Sub Workbook_Open()
Set CBBEvents = Application.CommandBars.FindControl(ID:=847)
End Sub

PS : inscrire sur tous les onglets "crée par ..." et verrouiller la cellule correspondante ne serait ni esthétique, ni pratique au vue du nombre d'information que j'ai mis sur la page de garde...

PS 2 : ah.. et puis : si à l'ouverture la personne n'active pas les macros (bandeau en haut de la feuille qui demande si il faut activer les macros) elle peut supprimer la feuille.... autre problème, est ce qu'il existe une macro qui, si elle n'est pas activée, empêche l'affichage d'un classeur, (comprendre que si elle est activée alors le classeur s'affiche)

Bon courage !! Moi je patauge !

Deux solutions simples:

  • Protéger la structure du fichier.
  • Tester à l'ouverture du fichier si la page existe, si elle n'existe pas la reconstruire (ajouter une page, mettre les trucs que tu veux dessus, la mettre au bon endroit et l'activer)

Par contre.. Ton bébé ne tiendra pas deux secondes face à un utilisateur avisé.. Puisqu'il est simple d'attaquer les mots de passe du code vba en bruit de force. Si tu mets un mot de passe de 100 caractères avec des majuscules minuscules, nombres et caractères spéciaux il tiendra peut être une journée.

Merci pour cette réponse pour le moins rapide

Je ne connaissais pas cette attaque en bruit de force, décidément.... C'est à se demander si on peut avoir confiance en notre mot de passe sur notre banque en ligne

Bon en tout cas merci, je ne pense pas tomber sur des utilisateurs avisés, mais je suis prévenu, je vais creuser du côté des deux solutions proposées.

Ta banque bloque l'accès au bout de 3 erreurs. VBA non. Donc oui on peut attaquer très facilement.

Rechercher des sujets similaires à "proteger completement onglet"