Protection de feuilles par macro

Bonjour le forum ,

Je suis de retour avec un nouveau problème .

Je souhaite protéger plus de 100 feuilles sur un classeur excel, et chaque feuilles du classeur dispose de plus ou moins une protection différente !

Pour protéger toutes mes feuilles d'un coup j'utilise la macro suivante :

eSub Protec()
For I = 1 To Sheets.Count
Sheets(I).Protect Password:="******"
Next
End Sub

Sub UnProtect()
For I = 1 To Sheets.Count
Sheets(I).Unprotect Password:="******"
Next
End Sub

Mais voila, le problème viens du fait que ma macro ne protège correctement que la feuille où le bouton de verrouillage / déverrouillage est présent !

Pour toutes les pages restantes la protection se remet par défaut : (image png en lien)

Une idée pour que la protection de la page reste ?

Merci d'avance si vous avez des idées !

Cordialement

Ice

proteger

Bonjour,

Je ne comprends pas tout, mais le code ci-dessous fonctionne parfaitement avec les options de base définies pour la protection des feuilles (soient les sélections des cellules déverrouillées & verrouillées).

' Module 1
Option Explicit
Option Private Module
Dim i As Byte
Public Sub Proteger()
    For i = 1 To Sheets.Count
        Worksheets(i).Protect Password:="jeaneric"
    Next
End Sub
Public Sub Deproteger()
    For i = 1 To Sheets.Count
        Worksheets(i).UnProtect Password:="jeaneric"
    Next
End Sub

Bonjour Jean-Eric,

Mhhh pas simple d'expliquer clairement, pour faire simple toutes les feuilles n'ont pas les mêmes paramètres de verrouillage.

Une d'entre elle va par exemple avoir la sélection de cellule verrouiller ou dé-verrouiller comme par défaut, mais une autre va avoir l'utilisation des tableaux croisée dynamique, une autre va utiliser les insertions de colonnes ...

Et quand j'utilise la macro de verrouillage / déverrouillage, mes feuilles ne gardes en paramètres pour la protection seulement les valeurs par défauts .

Or je ne veux pas qu'elles utilisent les options de base définies mais les options que j’attribue pour chaque pages.

En grattant j'ai trouver que si je rajoute des formules du genre :

AllowFormattingCells:=True,

AllowFormattingRows:=True

Les paramètres des TOUTES mes pages sont modifiées, et je ne désire pas que tout change mais qu'elle utilises simplement les options que j'utilise quand je verrouille manuellement chacune d'entre elle.

Si je ne suis toujours pas très clair j'essaie de faire un post avec plusieurs images avant -> après pour que cela ressorte mieux.


Avec des images.

Je prend au hasard 4 feuilles sur un de mes fichiers :

Chaque fichier dispose d'une protection spécifique mais il vont tous utiliser la protection de base si je me sert de la macro, les protections sont ''oubliée''.

Et comme je dispose d'un nombre important de feuille je ne pense pas que traiter les feuilles au cas par cas puisse être envisageable .

Pour cela que je me demandé si il n'y avais pas une macro qui garde en mémoire mes paramètres !

Merci encore

Cordialement

Ice

|

|

| Feuille 4 - 3 - 2 - Défaut

proteger proteger feuille 2 protection feuille 3 protection feuille 4
Rechercher des sujets similaires à "protection feuilles macro"