Comment supprimer la Barre de menu Excell 2007 ?

Le
CAT
Bonjour tout le monde !

J'ai une macro qui ne fonctionne plus depuis que je suis passé sous Excel
2007.
Sous Excel 2003 cette macro crée une barre de menu personalisée et qu'elle
substitue à la barre de menu par défaut d'Excel. Or depuis que je suis sous
Excel 2007, la barre de menu perso est bien créée, mais elle se retrouve en
tant que sous menu du menu "Complément" ce qui devient moins propre et moins
intuitif à utiloiser.

Exist-il un moyen pour faire disparaitre le menu standard d'Excel 2007 comme
c'était le cas sous Excel 2003 ?

Je suis ouverts à toutes propositions ;)

Public Sub Affiche_Menu_Perso()
Dim Ma_Barre_de_Menu As Object
Dim Mon_Menu As Object
Dim Sous_Menu As Object
Dim Sous_sous_menu As Object
Dim Nom_du_Menu As String

'Supprime la barre menu si elle existe déjà
Application.CommandBars(Nom_Menu).Delete

'créer la barre de menu Perso
Set Ma_Barre_de_Menu = CommandBars.Add( _
Name:=Nom_Menu, _
Position:=msoBarTop, _
MenuBar:=True, _
Temporary:=True)
With Ma_Barre_de_Menu
.Visible = True
.Protection = msoBarNoMove
End With

'créer le menu "Contrats" sur la barre
Set Mon_Menu = Ma_Barre_de_Menu.Controls.Add( _
Type:=msoControlPopup, _
Temporary:=True)
With Mon_Menu
.Caption = "&Contrats"
End With

'créer le sous-menu "Créer un Nouveau Contrat"
Set Sous_Menu = Mon_Menu.CommandBar.Controls.Add(Type:=msoControlButton,
ID:=1)
With Sous_Menu
.Caption = "&Créer un Nouveau Contrat"
.OnAction = "Créer_un_Nouveau_Contrat"
.Style = msoButtonCaption
End With

End Sub
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
laurent.daures
Le #19774041
bonjour,
ce sujet a été traité récemment dans un autre fil,
et apparemment, d'après cette discussion,
c'est un problème insoluble, ta barre de menus se retrouve dans le bandeau
et y restera.
Perso, je trouve que c'est un retour en arrière, mais il faudra s'y adapter
hélas.
Amicalement
Siesting Hoax
"CAT"
Bonjour tout le monde !

J'ai une macro qui ne fonctionne plus depuis que je suis passé sous Excel
2007.
Sous Excel 2003 cette macro crée une barre de menu personalisée et qu'elle
substitue à la barre de menu par défaut d'Excel. Or depuis que je suis
sous Excel 2007, la barre de menu perso est bien créée, mais elle se
retrouve en tant que sous menu du menu "Complément" ce qui devient moins
propre et moins intuitif à utiloiser.

Exist-il un moyen pour faire disparaitre le menu standard d'Excel 2007
comme c'était le cas sous Excel 2003 ?

Je suis ouverts à toutes propositions ;)

Public Sub Affiche_Menu_Perso()
Dim Ma_Barre_de_Menu As Object
Dim Mon_Menu As Object
Dim Sous_Menu As Object
Dim Sous_sous_menu As Object
Dim Nom_du_Menu As String

'Supprime la barre menu si elle existe déjà
Application.CommandBars(Nom_Menu).Delete

'créer la barre de menu Perso
Set Ma_Barre_de_Menu = CommandBars.Add( _
Name:=Nom_Menu, _
Position:=msoBarTop, _
MenuBar:=True, _
Temporary:=True)
With Ma_Barre_de_Menu
.Visible = True
.Protection = msoBarNoMove
End With

'créer le menu "Contrats" sur la barre
Set Mon_Menu = Ma_Barre_de_Menu.Controls.Add( _
Type:=msoControlPopup, _
Temporary:=True)
With Mon_Menu
.Caption = "&Contrats"
End With

'créer le sous-menu "Créer un Nouveau Contrat"
Set Sous_Menu = Mon_Menu.CommandBar.Controls.Add(Type:=msoControlButton,
ID:=1)
With Sous_Menu
.Caption = "&Créer un Nouveau Contrat"
.OnAction = "Créer_un_Nouveau_Contrat"
.Style = msoButtonCaption
End With

End Sub




LSteph
Le #19774111
Bonjour Siesting,
hélas.


;-) chez nous heureusement on passe au fur et à mesure les 97 en 2003
donc a priori on évitera 2007 en attente d'une prochaine version qui
rétablisse
(Pour ma part j'espère)plus de souplesse et de clarté dans le gestion
des menus , abandonne ce p.. de ruban ou le laisse en option à ceux
qui veulent et surtout ne pose pas de contraintes préalable à la mise
en oeuvre du VBA

--
lSteph



On 17 juil, 12:22, "laurent.daures"
bonjour,
ce sujet a été traité récemment dans un autre fil,
et apparemment, d'après cette discussion,
c'est un problème insoluble, ta barre de menus se retrouve dans le band eau
et y restera.
Perso, je trouve que c'est un retour en arrière, mais il faudra s'y ada pter
hélas.
Amicalement
Siesting Hoax
"CAT"



> Bonjour tout le monde !

> J'ai une macro qui ne fonctionne plus depuis que je suis passé sous E xcel
> 2007.
> Sous Excel 2003 cette macro crée une barre de menu personalisée et qu'elle
> substitue à la barre de menu par défaut d'Excel. Or depuis que je s uis
> sous Excel 2007, la barre de menu perso est bien créée, mais elle s e
> retrouve en tant que sous menu du menu "Complément" ce qui devient mo ins
> propre et moins intuitif à utiloiser.

> Exist-il un moyen pour faire disparaitre le menu standard d'Excel 2007
> comme c'était le cas sous Excel 2003 ?

> Je suis ouverts à toutes propositions ;)

> Public Sub Affiche_Menu_Perso()
> Dim Ma_Barre_de_Menu As Object
> Dim Mon_Menu As Object
> Dim Sous_Menu As Object
> Dim Sous_sous_menu As Object
> Dim Nom_du_Menu As String

> 'Supprime la barre menu si elle existe déjà
>    Application.CommandBars(Nom_Menu).Delete

> 'créer la barre de menu Perso
> Set Ma_Barre_de_Menu = CommandBars.Add( _
>        Name:=Nom_Menu, _
>        Position:=msoBarTop, _
>        MenuBar:=True, _
>        Temporary:=True)
> With Ma_Barre_de_Menu
>        .Visible = True
>        .Protection = msoBarNoMove
> End With

> 'créer le menu "Contrats" sur la barre
> Set Mon_Menu = Ma_Barre_de_Menu.Controls.Add( _
>        Type:=msoControlPopup, _
>        Temporary:=True)
> With Mon_Menu
>    .Caption = "&Contrats"
> End With

> 'créer le sous-menu "Créer un Nouveau Contrat"
> Set Sous_Menu = Mon_Menu.CommandBar.Controls.Add(Type:=msoControlBu tton,
> ID:=1)
> With Sous_Menu
>    .Caption = "&Créer un Nouveau Contrat"
>    .OnAction = "Créer_un_Nouveau_Contrat"
>    .Style = msoButtonCaption
> End With

> End Sub- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


CAT
Le #19775031
Merci pour la réponse....
Dommage que ce ne soit plus possible car les application développées avec
2003 font du coup plus pro avec seulement un menu adpté et pas un sous menus
comme ça devient le cas avec 2007.

A suivre dans une prochaine version peut-être.


--
CENTRE PIERRE DOUSSINET
17 rue Pierre Doussinet
63 000 Clermont-Ferrand
Tel : 04 73 26 36 96
Ligne directe : 04 73 27 04 58
Fax : 04 73 27 04 58
Email :
"laurent.daures" 4a605100$0$23444$
bonjour,
ce sujet a été traité récemment dans un autre fil,
et apparemment, d'après cette discussion,
c'est un problème insoluble, ta barre de menus se retrouve dans le bandeau
et y restera.
Perso, je trouve que c'est un retour en arrière, mais il faudra s'y
adapter hélas.
Amicalement
Siesting Hoax
"CAT"
Bonjour tout le monde !

J'ai une macro qui ne fonctionne plus depuis que je suis passé sous Excel
2007.
Sous Excel 2003 cette macro crée une barre de menu personalisée et
qu'elle substitue à la barre de menu par défaut d'Excel. Or depuis que je
suis sous Excel 2007, la barre de menu perso est bien créée, mais elle se
retrouve en tant que sous menu du menu "Complément" ce qui devient moins
propre et moins intuitif à utiloiser.

Exist-il un moyen pour faire disparaitre le menu standard d'Excel 2007
comme c'était le cas sous Excel 2003 ?

Je suis ouverts à toutes propositions ;)

Public Sub Affiche_Menu_Perso()
Dim Ma_Barre_de_Menu As Object
Dim Mon_Menu As Object
Dim Sous_Menu As Object
Dim Sous_sous_menu As Object
Dim Nom_du_Menu As String

'Supprime la barre menu si elle existe déjà
Application.CommandBars(Nom_Menu).Delete

'créer la barre de menu Perso
Set Ma_Barre_de_Menu = CommandBars.Add( _
Name:=Nom_Menu, _
Position:=msoBarTop, _
MenuBar:=True, _
Temporary:=True)
With Ma_Barre_de_Menu
.Visible = True
.Protection = msoBarNoMove
End With

'créer le menu "Contrats" sur la barre
Set Mon_Menu = Ma_Barre_de_Menu.Controls.Add( _
Type:=msoControlPopup, _
Temporary:=True)
With Mon_Menu
.Caption = "&Contrats"
End With

'créer le sous-menu "Créer un Nouveau Contrat"
Set Sous_Menu = Mon_Menu.CommandBar.Controls.Add(Type:=msoControlButton,
ID:=1)
With Sous_Menu
.Caption = "&Créer un Nouveau Contrat"
.OnAction = "Créer_un_Nouveau_Contrat"
.Style = msoButtonCaption
End With

End Sub








Publicité
Poster une réponse
Anonyme