Règle de protection de feuille

Bonjour à tous,

J'ai une macro en VBA qui me permet d'ôter et de protéger automatiquement toutes les feuilles de mon classeur excel (code trouvé sur ce forum d'ailleurs)

J'ai imbriqué ce code dans une macro qui me permet de faire la maj de mes feuilles. Mais pendant la maj de mes feuilles, excel change la mise en forme des colonnes/lignes ce qui rend les tableau plus vraiment lisible car elles deviennent toutes petites.

Je sais que lorsque l'on met une protection feuille par feuille, on peut choisir les autorisations qu'on les utilisateurs sur la feuille, notamment modifier les mises en forme de ligne/colonne/cellule. Mais le faisais via une macro cela ne prend pas du tout en compte ces critères et où les seuls paramètres possibles sont sélection de la feuille/sélection de cellules.

J'ai essayé de mettre une protection une par une avec les bons paramètres en espérant que excel les garde en mémoire, mais à chaque passage de ma macro cela réinitialise aux paramètres de base.

Y a t'il donc un moyen soit via du code VBA soit via une sorte de paramètre à modifier du style "autorisation par défaut lors de la protection d'une feuille" pour autoriser les utilisateurs à modifier la mise en forme des lignes/colonnes sur une feuille protégée.

Voici le code de protection/déprotection de mes feuilles

Sub Ouverture_MaJ_Fermeture()
'
' Ôte la protection de toutes les feuilles
' Ouvre tous les plans de charges
' Réalise la mise à jour des plans de charges dans le classeur Master_Project
' Ferme tous les plans de charges
' Mise en place de la protection de toutes les feuilles
'

'
    ' Déprotection automatique de toutes les feuilles du classeur
    Dim nombre As Integer
    Dim Motdepasse As String
    Motdepasse = InputBox("Entrer le mot de passe :", "Oter la protection de toutes les feuilles", "")
    nombre = ActiveWorkbook.Sheets.Count
    Application.ScreenUpdating = False
    For i = 1 To nombre
    Worksheets(i).Unprotect Password:=Motdepasse
    Next i

    With ThisWorkbook

        ' Ouverture des classeurs projet contenant les plans de charge
        Workbooks.Open ("C:\Users\apadelle\Documents\Plan de charge\Picard.xlsx")
        Workbooks.Open ("C:\Users\apadelle\Documents\Plan de charge\Sephora_RTLE.xlsx")
        Workbooks.Open ("C:\Users\apadelle\Documents\Plan de charge\Sephora_UPGRADE.xlsx")

        ' Mise à jour du classeur Master_Project
        Windows("Master_Project_CdS.xlsx").Activate
        ActiveWorkbook.RefreshAll

        ' Fermeture des classeurs projet contenant les plans de charge
        Windows("Picard.xlsx").Close
        Windows("Sephora_RTLE.xlsx").Close
        Windows("Sephora_UPGRADE.xlsx").Close

    End With

    ' Protection automatiques des feuilles du classeur avec le mot de pas précédemment rentré
    For j = 1 To nombre
    Worksheets(j).Protect Password:=Motdepasse
    Next j

End Sub

Sub Deprotection()
    Dim nombre As Integer
    Dim Motdepasse As String
    Motdepasse = InputBox("Entrer le mot de passe :", "Oter la protection de toutes les feuilles", "")
    nombre = ActiveWorkbook.Sheets.Count
    Application.ScreenUpdating = False
    For i = 1 To nombre
    Worksheets(i).Unprotect Password:=Motdepasse
    Next i
End Sub

Sub Protection()
    Dim nombre As Integer
    Dim Motdepasse As String
    Motdepasse = InputBox("Entrer le mot de passe :", "Mettre en place la protection de toutes les feuilles", "")
    nombre = ActiveWorkbook.Sheets.Count
    Application.ScreenUpdating = False
    For i = 1 To nombre
    Worksheets(i).Protect Password:=Motdepasse
    Next i
End Sub

Merci d'avance pour votre aide !!

Pour solutionner mon problème j'ai inclu des lignes de mise en forme dans mon code, comme ça elle se fait et la personne n'a de toute manière plus besoin d'y toucher

Voici le code utilisé :

Sub mise_en_forme()
'
' mise_en_forme Macro
'
    Sheets("Feuil1").Select
    Cells.Select
    Cells.EntireColumn.AutoFit
    Cells.EntireRow.AutoFit
End Sub
Rechercher des sujets similaires à "regle protection feuille"