none
Comment masquer les menus et les commandes en vba excel 2013 RRS feed

  • Question

  • Bonjour à tous,

    Je découvre Excel 2013 et je patauge un peu ...

    J'ai un programme écrit en excel vba 2000 qui comporte ces lignes

    Application.CommandBars("Standard").Visible = False
        Application.CommandBars("Formatting").Visible = False
        Application.CommandBars("Drawing").Visible = False
        Application.CommandBars.ActiveMenuBar.Enabled = False
        Application.DisplayFormulaBar = False
        ActiveWindow.DisplayGridlines = False
        ActiveWindow.DisplayHeadings = False

    mardi 3 février 2015 18:03

Toutes les réponses

  • Bonjour,

    Pour masquer le ruban :

    Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)"

    et pourle réafficher :

    Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",True)"

    Pour les commandbars, mieux vaut les désactiver également :

    Application.CommandBars("Formatting").Enabled = False

    Tu peux aussi désactiver le menu contextuel des cellules :

    Application.CommandBars("Cell").Enabled = False

    Qu'est-ce que tu veux d'autre ?

    Cordialement.

    Daniel

    mardi 3 février 2015 19:41
  • Bonjour Daniel

    Pour masquer le ruban :
    Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)"

    Ou : comment mélanger l'ancien et le moderne.
    Voilà une instruction qui laisse rêveur.

    mercredi 4 février 2015 12:16
  • Oui, mais, à ma connaissance, c'est la seule qui convienne sans passer par les API. Oui, les macros Excel 4 ont encore leur utilité ! Un exemple ici :

    http://monsieur-excel.blogspot.fr/2014/12/classeurs-fichiers-et-onglets.html

    Daniel

    mercredi 4 février 2015 13:08
  • Oui, mais, à ma connaissance, c'est la seule qui convienne sans passer par les API.

    Je me doute bien que si tu la proposes, c'est la meilleure solution.
    A la lecture je n'ai aps pu m'empêcher de rigoler.

    Oui, les macros Excel 4 ont encore leur utilité ! Un exemple ici :

    http://monsieur-excel.blogspot.fr/2014/12/classeurs-fichiers-et-onglets.html

    Pas mal non plus, comme quoi ceux qui ont enterré l'ancien système qui était bien plus accessible sont un peu passé à côté du sujet.

    mercredi 4 février 2015 17:05
  • Bonjour Daniel

    J'ai créé une barre flottante via ce code :

    Set cbar1 = Application.CommandBars.Add(Name:="DaD", Position:=msoBarFloating)
    cbar1.Visible = True

    Mais elle n'apparaît nulle part dans ma feuille de calcul.

    Cela est-il normal ?

    En outre, j'ai voulu masquer la barre Formatting via le code suivant :

    application.CommandBars("Formatting").Visible = False

    J'ai crée une boucle pour n'afficher que les barres visibles et la barre Mise en forme n'apparaît pas dans la liste.

    Pourtant sur le Ruban je vois toujours dans l'onglet Accueil le groupe Police qui me semble être l'ancienne barre d'outils de mise en forme.

    Pouvez-vous m'éclairer sur ce point.

    Je vous remercie par avance.

    Bonne journée.

    Didier

    dimanche 26 mars 2017 09:55
  • Bonjour,

    Personnellement, je pense qu'il vaut mieux oublier les barres Excel 2003 et antérieures. J'ai noté cet exemple :

    Sub CreationMenu()
        Dim MaBarre As CommandBar
        Dim i As Integer
        On Error Resume Next
        Application.CommandBars("DblClic").Delete
        With ActiveSheet.Pictures.Insert("C:\Users\dcola\Pictures\Capture.JPG") '<-- insertion de l'image
            .Name = "Pic1" '<-- attribution d'un nom à l'image
            .Copy '<-- copie de l'image dans le presse-papier
            .Delete
        End With
        Set MaBarre = Application.CommandBars _
            .Add(Name:="DblClic", Position:=msoBarPopup)
        With MaBarre
            Set ctrl = .Controls.Add(Type:=msoControlButton, ID:=126)
            ctrl.PasteFace
            ctrl.OnAction = "Act1"
            ctrl.Caption = "toto"
            Set ctrl = .Controls.Add(Type:=msoControlButton)
            ctrl.OnAction = "Act2"
            ctrl.Caption = "titi"
            Set ctrl = .Controls.Add(Type:=msoControlButton, ID:=126)
            ctrl.OnAction = "Act3"
            ctrl.Caption = "tutu"
        End With
        MaBarre.ShowPopup
    End Sub
    Sub Act1()
        MsgBox "toto"
        CreationMenu
    End Sub
    Sub Act2()
        MsgBox "titi"
        CreationMenu
    End Sub
    Sub Act3()
        MsgBox "tutu"
        CreationMenu
    End Sub
    

    Sur les trois boutons, le premier reçoit l'image insérée dans la feuille (facultatif, naturellement).

    Cordialement.

    Daniel

    dimanche 26 mars 2017 11:47