XL 2016 VBA - Accès aux options de protection de la feuille

danielco

XLDnaute Accro
Bonjour,

Est-ce qu'il y a un moyen de déterminer si les options :

- Sélectionner les cellules verrouillées
- Sélectionner les cellules déverrouillées

Sont cochées ? Si oui, comment ? (sauf à sélectionner une cellule pour voir)

Merci d'avance.

Daniel
 
Dernière édition:
Solution
Bonjour Danielco, le forum

En complément de mon post précèdent :
Tu testes la feuille et après tu testes la cellule.
VB:
Sub Verif()

If Worksheets("Feuil1").ProtectContents = True Then 'Teste la feuille
    MsgBox "Le contenu de la Feuil1 est protégé."
    If Range("A1").Locked = True Then 'Teste le cellule
        MsgBox "La cellule " & "A1" & " est verrouillée"
     Else
        MsgBox "La cellule " & "A1" & " est non verrouillée"
    End If
End If

End Sub
@Phil69970

Phil69970

XLDnaute Barbatruc
Bonjour Danielco, le forum

En complément de mon post précèdent :
Tu testes la feuille et après tu testes la cellule.
VB:
Sub Verif()

If Worksheets("Feuil1").ProtectContents = True Then 'Teste la feuille
    MsgBox "Le contenu de la Feuil1 est protégé."
    If Range("A1").Locked = True Then 'Teste le cellule
        MsgBox "La cellule " & "A1" & " est verrouillée"
     Else
        MsgBox "La cellule " & "A1" & " est non verrouillée"
    End If
End If

End Sub
@Phil69970
 

Phil69970

XLDnaute Barbatruc
Bonjour Danielco, le forum

Cela permet par du code VBA de savoir si telle ou telle cellule est verrouillée ou non comme demandé dans le titre
"VBA - Accès aux options de protection de la feuille" et dans le corps de ta demande.
Est-ce qu'il y a un moyen de déterminer si les options :

- Sélectionner les cellules verrouillées
- Sélectionner les cellules déverrouillées

Sont cochées ? Si oui, comment ? (sauf à sélectionner une cellule pour voir)
Donc le code te permets bien de savoir si la feuille et la cellule X est ou non verrouillé après toujours par le code tu peux faire l'action que tu veux en sachant son état.
Les messages (msgbox) sont juste ici pour illustrer la réponse.

@Phil69970
 

Phil69970

XLDnaute Barbatruc
Pour moi ce que tu demandes est ici :

If Worksheets("Feuil1").ProtectContents = True Then 'Teste la feuille

Et avec l'enregistreur de macro j'ai tout ça comme réponse :
VB:
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
        False, AllowFormattingCells:=True, AllowFormattingColumns:=True, _
        AllowFormattingRows:=True, AllowInsertingColumns:=True, AllowInsertingRows _
        :=True, AllowInsertingHyperlinks:=True, AllowDeletingColumns:=True, _
        AllowDeletingRows:=True, AllowSorting:=True, AllowFiltering:=True, _
        AllowUsingPivotTables:=True
@Phil69970
 

Discussions similaires

Statistiques des forums

Discussions
314 053
Messages
2 105 101
Membres
109 264
dernier inscrit
lejulpat