Hello.

Thanks a lot for the reply's on this thread they where, very useful, especially the excel files.

I also create a version for my needs.

i made the code protect and unprotect the active sheet based on the button click.

Option Explicit
Public gobjRibbon As IRibbonUI
Public B1 As Boolean, B2 As Boolean
 
Public Sub OnRibbonLoad(objRibbon As IRibbonUI)
Set gobjRibbon = objRibbon
If ActiveSheet.ProtectContents = True Then
    B1 = True
    B2 = False
Else
    B1 = False
    B2 = True
End If
End Sub
'Callback for customButton1 onAction
Sub Pushed(control As IRibbonControl, pressed As Boolean)
Dim user, x As String
user = Environ("Username")
On Error Resume Next
x = Application.WorksheetFunction.VLookup(user, Sheets("Stuff").Range("Login"), 1, False)
Select Case control.ID
    Case "Togglebutton1"
        If Err.Number > 0 Then
            MsgBox "I'm sorry, you do not have access to LOCK this file !", vbCritical
            B1 = True
            B2 = False
        Else
            On Error GoTo 0
            ActiveSheet.Protect Password:=pwd, DrawingObjects:=False, Contents:=True, Scenarios:=True, AllowSorting:=True, AllowFiltering:=True
            B1 = True
            B2 = False
        End If
    Case "Togglebutton2"
        If Err.Number > 0 Then
            MsgBox "I'm sorry, you do not have access to UNLOCK this file !", vbCritical
            B1 = True
            B2 = False
        Else
            On Error GoTo 0
            ActiveSheet.Unprotect Password:=pwd
            B1 = False
            B2 = True
        End If
End Select
gobjRibbon.Invalidate
End Sub
'Callback for customButton1 getPressed
Sub UpOrDown(control As IRibbonControl, ByRef returnedVal)
Select Case control.ID
    Case "Togglebutton1"
        returnedVal = B1
    Case "Togglebutton2"
        returnedVal = B2
End Select
End Sub
The problem is that the workbook has multiple sheets and i wanted to buttons to change based on the selection of the sheet, if it is protected or not.
VBA i placed into the worksheets:

Private Sub Worksheet_Activate()
Dim FakeControl As IRibbonControl
Module3.OnRibbonLoad FakeControl
Module3.UpOrDown FakeControl
End Sub
The code runs OnRibbonLoad, but i get an error for UpOrDown
Help please.