Protéger toutes les feuilles

A

Alicia

Guest
Bonjour,

J'ai une macro qui permet de protéger toutes les feuilles sous Excel 2002 et j'aimerais la modifier pour empêcher la sélection des cellules verrouillées. Que faut-il ajouter à cette macro?

Sub ProtectionToutesLesFeuilles()
Application.ScreenUpdating = False
Dim Feuil As Worksheet
For Each Feuil In Sheets
Feuil.Protect password:='ton mot de passe'
Next Feuil
End Sub



Merci à tous

Alicia
 
A

Alicia

Guest
Bonjour ccpapy et le forum,

Voici el code pour enlever la protection de toutes les feuilles.

Sub ProtectionToutesLesFeuilles()
Application.ScreenUpdating = False
Dim Feuil As Worksheet
For Each Feuil In Sheets
Feuil.Protect password:='ton mot de passe'
Next Feuil
End Sub

Voilà!

Alicia
 
A

Alicia

Guest
Rebonjour,

Toutes mes excuses, voici le bon code

Sub DeprotectionToutesLesFeuilles()
Application.ScreenUpdating = False
Dim Feuil As Worksheet
For Each Feuil In Sheets
Feuil.Unprotect password:='ton mot de passe'
On Error GoTo sortie
Suite:
Next Feuil
Exit Sub
sortie:
MsgBox 'La Feuille : ' & Feuil.Name & ' Est Protégée par UN AUTRE Mot de Passe'
GoTo Suite
End Sub

Encore mille excuces!

Alicia
 

ccpapy

XLDnaute Impliqué
re,
merci pour ta réponse rapide.
en fait, je trouve pas exactement ce que je veux avec ton code.
1/la méthode ne demande pas le mot de passe
2/en faisant 'alt+f11' un utilisateur a accès aux macros et donc au mot de passe
dommage c'était bien. tu as peut-être une solution ?( je n'ai rien trouvé sur le forum) , sinon je ferai comme d'habitude :eek:
encore merci
 

myDearFriend!

XLDnaute Barbatruc
Bonsoir Alicia, ccpapy,

En réponse à ta question Alicia :
Sub ProtectionToutesLesFeuilles()
Dim Feuil As Worksheet
      For Each Feuil In Sheets
            Feuil.Protect Password:='ton mot de passe'
            Feuil.EnableSelection = xlUnlockedCells
      Next Feuil
End Sub

Pour ccpapy :
- En ce qui concerne le mot de passe visible dans le code VBA, tu as encore la possibilité d'empêcher l'accès au projet VBA par un mot de passe également.
- D'autre part, ce n'est pas vraiment sympa pour Alicia de t'incruster dans son fil avec tes propres questions avant même qu'elle n'est obtenu réponse aux siennes...

Cordialement,
 
A

Alicia

Guest
Bonjour ccpapy


Pour ma part, j'ai installé cette macro dans le classeur de macro personnelle et non dans le fichier et j'ai créer un bouton sur la barre d'outils pour me permettre de protéger ou d'enlever la protection. Tous les autres personnes qui veulent travailler sur mon fichier non pas cette macro, donc s'ils veulent enlever la protection, ils doivent le faire manuellement feuille par feuille en entrant le mot de passe (qu'ils n'ont pas!!)

Alicia
 

ccpapy

XLDnaute Impliqué
re,re, :)

j'ai trouvé pour le premier problème en fouillant encore sur le forum et en combinant avec le tien:

Dim Feuil As Worksheet
For Each Feuil In Sheets
Feuil.Unprotect PassWord:='ton mdp'
Next Feuil
Dim PassWord As String

PassWord = InputBox(' Entrez le mot de passe ', ' Déverrouillage de l'ensemble des Feuilles')
If PassWord = 'ton mdp' Then
ActiveSheet.Unprotect 'ton mdp'
Else
MsgBox 'Erreur Mot de Passe !', , 'Attention'
End If

reste le problème du 'alt+f11' et là ???
et ben là, je compte sur myDearFrind qui sait
merci :whistle:
 
A

Alicia

Guest
Bonjour myDearFriend! et le forum,

J'ai appliqué la modifiaction à ma macro et elle fonctionne bien tant que je ne ferme pas le fichier. Dès que j'ouvre le fichier, je peux cliquer et sélectionner des cellules qui sont verrouillées pourquoi?? Y-a-t'il moyen de corriger le problème. :eek:

Merci beaucoup

Alicia
 

myDearFriend!

XLDnaute Barbatruc
Bonjour Alicia, le fil, le Forum,

Pour retrouver cette propriété à chaque fois, il te faut lancer ta procédure ProtectionToutesLesFeuilles() (ci-dessus) à chaque ouverture du classeur.
Il convient donc de mettre dans le module de code de l'objet ThisWorkbook :
Private Sub Workbook_Open()
      ProtectionToutesLesFeuilles
End Sub
Cordialement,
 
A

Alicia

Guest
Rebonjour Didier my dear friend et le forum,

Si je comprènds bien, je n'ai pas d'autre choix que d'inclure la macro dans le fichier. J'envoi ce fichier à mes clients et ce fichier ne doit pas contenir de macro.

Si la vrai commande de protection dans le menu fonctionne pourquoi nous ne pouvons pas utliser le même code?? Je ne connais rien au VBA, je ne fais que supposer!

Merci beaucoup

Alicia
 

myDearFriend!

XLDnaute Barbatruc
Re Alicia,

Si tu modifies la propriété EnableSelection par le code VBA, tu n'as pas le choix, cette modification ne sera pas sauvegardée avec le classeur et il faudra la redéfinir lors du prochain lancement...

Par contre, si tu le fais manuellement par menu Outils / Protection / Protéger la feuille, en décochant Sélectionner les cellules verrouillées, alors cette modification de propriété sera maintenue au prochain lancement du classeur...

Cordialement,
 

Discussions similaires

Statistiques des forums

Discussions
312 801
Messages
2 092 243
Membres
105 309
dernier inscrit
Pierrovals