Question

Je peux utiliser les propriétés d'une feuille de calcul Excel pour indiquer si la feuille de calcul est protégée (Worksheet.Protection, Worksheet.ProtectContents, etc.).

Comment savoir si vous utilisez VBA si l'ensemble du classeur a été protégé?

Était-ce utile?

La solution

J'ai trouvé la réponse moi-même:

J'ai besoin des propriétés Workbook.ProtectStructure et Workbook.ProtectWindows .

Autres conseils

Worksheet.ProtectedContents est ce que vous devez utiliser sur chaque feuille de calcul.

Je mettrais donc en place une boucle comme celle-ci:

Public Function wbAllSheetsProtected(wbTarget As Workbook) As Boolean 

Dim ws As Worksheet 

wbAllSheetsProtected = True

For Each ws In wbTarget.Worksheets 
    If ws.ProtectContents = False Then 
        wbAllProtected = False
        Exit Function 
    End If 
Next ws 

End Function

La fonction retournera True si chaque feuille de calcul est protégée et False s'il existe des feuilles de calcul non protégées. J'espère que c'est ce que vous recherchiez.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top