Empêcher de supprimer une feuille

MJ13

XLDnaute Barbatruc
Bonjour à tous


Je cherche à sécuriser un fichier en empêchant de supprimer une feuille par inadvertance.

Voyez-vous une solution?

Merci d'avance :).
 

MJ13

XLDnaute Barbatruc
Re : Empêcher de supprimer une feuille

Bonjour 00, CaMarchePas

Merci pour vos retours :).

J'ai eu beaucoup de mal avec les liens de 00 :) sur XL2013 :eek:.

J'ai donc choisi le code de CaMarchePas :)et pourtant ça marche (Merci pour ton retour en même temps, cela fait plaisir :)).

Voici le code que j'ai placé dans la feuille à protéger :


Code:
Private Sub Worksheet_Activate()
 ActiveWorkbook.Protect Structure:=True, Windows:=False
End Sub
Private Sub Worksheet_Deactivate()
ActiveWorkbook.Protect Structure:=False, Windows:=False
End Sub
 

Pièces jointes

  • ProtègeFeuille.xlsm
    12.6 KB · Affichages: 56

Modeste

XLDnaute Barbatruc
Re : Empêcher de supprimer une feuille

Bonsoir Michel :), 00 :), camarchepas et Nono :)

Ce n'est certes pas d'un intérêt capital et pardon de vous déranger au début d'un match de foot quelconque (enfin, ce n'est pas la qualité des joueurs qui serait quelconque, hein, je ne voudrais pas me faire lapider!) mais avec les événements Activate et Deactivate qui protègent/déprotègent le classeur, j'arrive quand même à supprimer la Feuil2 (sans passer par vba)

... Alors si moi j'y arrive, 83% au moins de la population mondiale y arrivera aussi ;) dont peut-être même un joueur de foot!? :eek:
 

camarchepas

XLDnaute Barbatruc
Re : Empêcher de supprimer une feuille

Bonsoir Modeste , Robert ,
Re Mj13 , 00

Effectivement , la solution serait plutot de protéger en permanence sauf pour le code , enfin aprés , il faut voir l'usage du classeur.

Plutot oval le ballon chez moi , au moins ils courent plus vite qu'ils ne sont payé ....
 

MJ13

XLDnaute Barbatruc
Re : Empêcher de supprimer une feuille

Re, Bonjour Modeste

Luc :), merci pour ton retour.

Mais sur XL 2013 avec le fichier, sans macro, je ne peux pas supprimer la feuille 2. Comment fais-tu (cela peut m'intéressser) ?

Après, cela devient complexe. mais mon but est surtout de me protèger pour que je ne supprime pas la feuille avec le Click droit sur le nom de l'onglet + Supprimer la feuille.

Voici un second fichier qui peut aussi protéger la feuille. Mais c'est pas simple à développer et en général, je ne protège rien :) surtout sans Mot de Passe :eek: pour éviter les galères.
 

Pièces jointes

  • ProtègeFeuilleV2.xlsm
    23.1 KB · Affichages: 28

Modeste

XLDnaute Barbatruc
Re : Empêcher de supprimer une feuille

Bonjour tout le monde,

Notre douce, mais perspicace 00 a bien raison: la suppression de Feuil2 n'est possible que lors de la sélection de plusieurs onglets (il en faut donc au moins 3 dans le classeur, puisque supprimer les deux seules feuilles existantes nous ferait subir les foudres d'Excel)

Imaginons donc, mon bon Michel, que ton classeur contienne 3 feuilles: Feuil1, Feuil2 et Feuil3. En sélectionnant d'abord Feuil1, puis -avec la touche Ctrl- la Feuil2, c'est Feuil1 qui reste la feuille active ... et ton événement n'est pas déclenché. C'était là tout mon propos (j'espère que personne n'en a fait des cauchemars :eek:)
 

job75

XLDnaute Barbatruc
Re : Empêcher de supprimer une feuille

Bonjour les amis,

Voyez ceci :

Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
On Error Resume Next
If IsError(Feuil1.Name) Then 'CodeName
  Me.Saved = True
  If Workbooks.Count = 1 Then Application.Quit Else Me.Close
End If
End Sub
Fichier joint, je laisse Modeste tester avec ses sélections multiples :)

A+
 

Pièces jointes

  • Feuille à ne pas supprimer(1).xls
    34.5 KB · Affichages: 41

job75

XLDnaute Barbatruc
Re : Empêcher de supprimer une feuille

Re,

Une variante sans doute meilleure :

Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Application.DisplayAlerts = False
On Error Resume Next
If IsError(Feuil1.Name) Then 'CodeName
  MsgBox "Il ne fallait pas tenter de supprimer cette feuille !" _
    & vbLf & "Les modifications du classeur seront perdues...", 48
  Workbooks.Open Me.FullName
End If
End Sub
Fichier (2).

A+
 

Pièces jointes

  • Feuille à ne pas supprimer(2).xls
    37.5 KB · Affichages: 66
Dernière édition:

job75

XLDnaute Barbatruc
Re : Empêcher de supprimer une feuille

Bonjour Laetitia,

Pas testé ta solution, mais si elle fonctionne elle ne fait évidemment pas de distinction entre les feuilles.

Il faudra donc une macro Activate et une macro Deactivate comme au post #4.

A+
 

Modeste

XLDnaute Barbatruc
Re : Empêcher de supprimer une feuille

Salut tout le monde,

Fichier joint, je laisse Modeste tester avec ses sélections multiples :)
Ah tu l'auras voulu, jeune voyou ;)


... et maintenant, t'as peur, hein!?


Bon j'imagine que je ne saurai pas faire durer le suspense indéfiniment :( et donc, Modeste a testé ... et atteste que cette fois, il l'a dans l'os (pour demeurer courtois).
Ceci dit, je ne voudrais pas être à la place du malheureux qui fait la boulette après 3 heures d'encodage et manipulations diverses ... Mais bon, il n'avait qu'à écouter les mises en garde de Michel, le sot! (pas Michel, hein!)

[Edit:] Salut laetitia :)
 

MJ13

XLDnaute Barbatruc
Re : Empêcher de supprimer une feuille

Bonjour à tous

Merci pour vos solutions et félicitations à notre Béta testeur M.....e :).

J'ai bien compris tous les problèmes rencontrés suivant les versions d'Excel :confused:.

Je suis parti sur une autre piste, voire le fichier joint avec le ctrl+s pour supprimer une feuille :eek:.
 

Pièces jointes

  • Empêche_Suppression_Feuille_MJ.xlsm
    29.8 KB · Affichages: 51

Discussions similaires

Statistiques des forums

Discussions
312 337
Messages
2 087 392
Membres
103 536
dernier inscrit
komivi