VBA: Protection feuilles sans mdp

Bonjour à tous,

Je suis actuellement sur un fichier avec un macro qui me crée automatiquement des feuilles selon plusieurs conditions.

Le problème n'est pas la...

Je me suis intéressé a la protection de ces feuilles, et tout ce que j'ai trouvé c'est la création d'une macro permettant de bloquer ou debloquer la modification selon un mdp que l'on choisit.

Je cherche à automatiser la protection directement lors de cette création. (Soit ma page principale est accessible et modifiable, mais les feuilles créés automatiquement seront simplement consultable mais non-modifiable..)

Quelqu'un connaitrait une astuce?

Voici mon code VBA:

Sub SplitterEnOnglet()               ' - de 1 sec pour 20.000  lignes
Set f = Sheets("General")
Application.DisplayAlerts = False
Application.ScreenUpdating = False

' changer pour aller jusque colonne "r"

Set Rng = f.Range("A2:R" & f.[A65000].End(xlUp).Row)  ' rng est une place de A à C

' le tri se fait sur A et B MAIS en tenant compte qu'il y a un titre !

Rng.Sort Key1:=f.[A2], key2:=f.[B2], Header:=xlGuess ' trier avant sur la colonne choisie ("E" ici)
' copie des colonne A à R dans une matrice
A = Rng
i = 1: n = 0
Do While i <= UBound(A)
  code = A(i, 1) & Chr(32) & A(i, 2)
  Do While A(i, 1) & Chr(32) & A(i, 2) = code
Debug.Print i, A(i, 5)
    i = i + 1: If i > UBound(A) Then Exit Do
  Loop
  On Error Resume Next: Sheets(code).Delete: On Error GoTo 0
  Sheets.Add after:=Sheets(Sheets.Count)
  ActiveSheet.Name = code
  f.Cells(2 + n, 1).Resize(i - 1 - n, 18).Copy [A2] ' idem jusque colonne R
  f.[A1:R1].Copy [A1] ' idem colonne R
  n = i - 1
Loop
End Sub

Je pensais à une astuce du genre :

 On Error Resume Next: Sheets(code).Delete: On Error GoTo 0
  Sheets.Add after:=Sheets(Sheets.Count)
  ActiveSheet.Name = code
ActiveSheet.Protect ()[

Mais comme vous pouvez le deviner ça n'est pas la solution

Je vous remercie d'avance

thibaut3111 a écrit :

Mais comme vous pouvez le deviner ça n'est pas la solution

En quoi cette solution ne te convient-elle pas ?

Car ça ne fonctionne pas avec ce code

J'ai du coup voulus appliquer le code tel que je le trouve sur le net mais j'avais que je ne comprend pas bien comment le code fonctionne...

erreur protection

Quand tu fait débogage, quelles est la ligne en erreur ?

Re,

L'erreur arrive à la ligne f.Cell....

Je ne pense pas que ce soit bien compliqué mais je ne comprend pas trop ce que donne le resultat...

Les pages bloqués sont-elles dès la premieres ou bien est-ce que cela va bloquer uniquement les pages suivantes?

Merci

C'est normal, tu essaies de modifier une feuille protégée !

Il faut que tu protèges ta feuilles après avoir fait les modifications (juste avant le Loop)

Rechercher des sujets similaires à "vba protection feuilles mdp"