XL 2016 Afficher/Masqué ruban depuis bouton sous condition

Nicolas JACQUIN

XLDnaute Occasionnel
Supporter XLD
Bonjour à tous,
Désolé de relancer ce sujet, mais j'espère qu'il sera plus explicite que le précédent.
Ce que je voudrai c'est qu'à l'ouverture d'un userform, ça me détecte si le Ruban est affiché ou pas,
et selon le cas effectuer l'opposé depuis un bouton, j'ai fais des essai mais ça ne veut pas.

test form5.gif


Si vous pouvez m'aider ça m'arrangerai parce que là je suis perdu.
Merci d'avance
 

Pièces jointes

  • Affichage.xlsm
    29.5 KB · Affichages: 7
Solution
Trouvé la solution, merci quand même à tous

Pour userform initialize:
Code:
If Application.CommandBars.Item("Ribbon").Height > 100 Then
            Lbt10.BackColor = vbGreen
            Bbt10.Caption = "On"
        Else
            Lbt10.BackColor = vbRed
            Bbt10.Caption = "Off"
        End If

Et pour le bouton:
Code:
Private Sub Bt10_Click()
If CommandBars("Ribbon").Controls(1).Height < 100 = 0 Then
            CommandBars.ExecuteMso "MinimizeRibbon"
            Lbt10.BackColor = vbRed
            Bbt10.Caption = "Off"
ElseIf CommandBars.GetPressedMso("MinimizeRibbon") = True Then CommandBars.ExecuteMso "MinimizeRibbon"
            Lbt10.BackColor = vbGreen
            Bbt10.Caption = "On"
End If
End Sub

Corrigé

job75

XLDnaute Barbatruc
Bonjour,

Le code de l'UserForm :
VB:
Private Sub CommandButton1_Click()
Application.DisplayFullScreen = Not Application.DisplayFullScreen
End Sub
Pour que cela fonctionne bien l'UserForm doit être ouvert en non modal :
VB:
Sub USF()
UserForm1.Show 0 'non modal
End Sub
A+
 

Pièces jointes

  • Classeur(1).xlsm
    18.6 KB · Affichages: 7

Nicolas JACQUIN

XLDnaute Occasionnel
Supporter XLD
Bonjour Job75,
Merci du retour,
par rapport à ce que je veux faire, (petit prog) image plus haut, j'étais parti sur une idée comme ça:

VB:
Private Sub Bt10_Click()
        If Application.ExecuteExcel4Macro("SHOW.TOOLBAR(""Ribbon"",False)") Then
            Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",True)"
            Lbt10.BackColor = vbRed
            Bbt10.Caption = "Off"
        Else
            Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)"
            Lbt10.BackColor = vbGreen
            Bbt10.Caption = "On"
        End If
End Sub

Y a pas moyen ?
Merci
 

job75

XLDnaute Barbatruc
c'est juste masqué le ruban.
Si l'on veut ne pas toucher à la barre de formule ni aux barres de défilement utiliser :
VB:
Private Sub CommandButton1_Click()
Dim FB As Boolean, VSB As Boolean, HSB As Boolean
FB = Application.DisplayFormulaBar
VSB = ActiveWindow.DisplayVerticalScrollBar
HSB = ActiveWindow.DisplayHorizontalScrollBar
Application.DisplayFullScreen = Not Application.DisplayFullScreen
Application.DisplayFormulaBar = FB
ActiveWindow.DisplayVerticalScrollBar = VSB
ActiveWindow.DisplayHorizontalScrollBar = HSB
End Sub
 

Pièces jointes

  • Classeur(2).xlsm
    19.1 KB · Affichages: 6

Nicolas JACQUIN

XLDnaute Occasionnel
Supporter XLD
Si l'on veut ne pas toucher à la barre de formule ni aux barres de défilement utiliser :
Re, on c'est mal compris,
Je voudrai à l'ouverture de l'userform détecter si le ruban est afficher ou pas

Capture d’écran 2024-05-15 203151.jpg


et selon le cas pouvoir l'activer ou le désactiver depuis un bouton de l'userform
dans le style là

VB:
Private Sub Bt10_Click()
        If Application.ExecuteExcel4Macro("SHOW.TOOLBAR(""Ribbon"",False)") Then
            Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",True)"
            Lbt10.BackColor = vbRed
            Bbt10.Caption = "Off"
        Else
            Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)"
            Lbt10.BackColor = vbGreen
            Bbt10.Caption = "On"
        End If
End Sub
 

patricktoulon

XLDnaute Barbatruc
Bonjour
en une ligne dans un bouton
VB:
Private Sub CommandButton1_Click()
         Application.ExecuteExcel4Macro ("SHOW.TOOLBAR(""Ribbon""," & IIf(CommandBars("ribbon").Visible, "false", "true") & ")")
 End Sub

parti de la après si tu veux aller plus loin dans le masquage
VB:
Private Sub CommandButton1_Click()
    Dim Bool As Boolean
    Bool = CommandBars("ribbon").Visible
    With Application
        .ExecuteExcel4Macro ("SHOW.TOOLBAR(""Ribbon""," & IIf(Bool, "false", "true") & ")")
        'ici les display de l'application avec bool ou not bool pour activer ou déactiver

    End With
    With ActiveWindow

        'ici les display de l'activewindow avec bool ou not bool pour activer ou déactiver


    End With



End Sub