BeginGroup 2003 => 2010

Le
Péhemme
Bonjour à Tous,

Contraint et forcé, je suis passé de Excel 2003 à Excel 2010.
Les barres d'outils (créées par macros) de mes fichiers se mettent dans
l'onglet "Compléments" du ruban.
Mouais mais je ne vois pas apparaitre mes séparateurs de "groupes de
boutons de commande".
Que dois-je faire pour y remédier ?
J'ai lu une réponse en anglais sur Google qui ne m'a pas séduit (elle disait
: BeginGroup n'existe plus).
Je sais que vous êtes meilleurs que cela et que vous saurez me recréer cet
indispensable séparateur.
;-)
Merci d'avance
Michel
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
MichD
Le #25043292
Bonjour,

Voici un exemple de menu avec des sous-menus et un "BeginGroup"
Tu copies ce qui suit dans un module standard.

Les macros associées aux commandes ne sont pas créées...
C'est seulement pour illustrer ce dont tu peux avoir de besoin...

'------------------------------------------
Sub Creation_Mon_Menu()
Dim MonMenu As CommandBarControl
Dim Ajout As CommandBarPopup
Dim MenuItem As CommandBarPopup
Dim MonItem As CommandBarButton

Call DeleteMenu

Set MonMenu = Application.CommandBars(1).FindControl(ID:0010)
If MonMenu Is Nothing Then
' ajoute le menu à la fin
Set Ajout = CommandBars(1).Controls.Add _
(Type:=msoControlPopup, _
temporary:=True)
Else
' Ajoute le menu juste avant le bouton aide "?"
Set Ajout = Application.CommandBars(1).Controls.Add _
(Type:=msoControlPopup, _
Before:=MonMenu.Index, _
temporary:=True)
End If

' ajoute l'étiquette "Mon Menu" au menu sur la barre des menus d 'excel
Ajout.Caption = "Mon menu"

' Premier ITEM du MENU , important regarde
' (Type:=msoControlPopup) au lieu msoControlButton de qui
' permet d'en faire un sous-menu...
Set MenuItem = Ajout.Controls.Add(Type:=msoControlPopup)

'Cet item va avoir un sous-menu
With MenuItem
.Caption = "Ajuster Commentaires"
End With

' Premier ITEM du SOUS-MENU
Set MonItem = MenuItem.Controls.Add(Type:=msoControlButton)
With MonItem
.Style = msoButtonIconAndCaption
.Caption = "Réinitialiser Dernière cellule"
.FaceId = 590
.OnAction = "NettoieEtDerniereCellule"
End With

' deuxième ITEM du SOUS-MENU
Set MonItem = MenuItem.Controls.Add(Type:=msoControlButton)
With MonItem
'Créer une ligne de séparation
.BeginGroup = True '<<<================== .Style = msoButtonIconAndCaption
.Caption = "Remplacer par la valeur"
.FaceId = 595
.OnAction = "Met_en_dur"
End With

' Troisième ITEM du SOUS-MENU
Set MonItem = MenuItem.Controls.Add(Type:=msoControlButton)
With MonItem
.Style = msoButtonIconAndCaption
.Caption = "Feuille à 80%"
.FaceId = 596
.OnAction = "Zoom"
End With
End Sub
Sub DeleteMenu()
On Error Resume Next
Application.CommandBars(1).Controls("Mon menu").Delete
End Sub
'------------------------------------------



MichD
--------------------------------------------------------------
"Péhemme" a écrit dans le message de groupe de discussion : 50c5c2a0$0$1209$

Bonjour à Tous,

Contraint et forcé, je suis passé de Excel 2003 à Excel 2010.
Les barres d'outils (créées par macros) de mes fichiers se mettent dans
l'onglet "Compléments" du ruban.
Mouais... mais je ne vois pas apparaitre mes séparateurs de "groupes de
boutons de commande".
Que dois-je faire pour y remédier ?
J'ai lu une réponse en anglais sur Google qui ne m'a pas séduit (elle disait
: BeginGroup n'existe plus).
Je sais que vous êtes meilleurs que cela et que vous saurez me recréer cet
indispensable séparateur.
;-)
Merci d'avance
Michel
Péhemme
Le #25046592
Bonjour Denis,

J'arrive, j'arrive !
Je ne rentre qu'à l'instant après une courte absence.
Merci de ta proposition.
Je regarde comment je peux adapter à ma barre de commande sachant que j'ai
bien l'instruction :
.BeginGroup = True
lors de la création d'un bouton. Par exemple :

With Application.CommandBars.Add("Remise-2013", msoBarTop, False, True)
.Visible = True
With .Controls.Add(msoControlButton)
.BeginGroup = True
.OnAction = "Précédente"
.TooltipText = "Va à la page Précédente"
.FaceId = 132
End With
End With

Merci encore et je te tiens au courant
Michel


"MichD" a écrit dans le message de groupe de discussion :
ka50ht$49e$

Bonjour,

Voici un exemple de menu avec des sous-menus et un "BeginGroup"
Tu copies ce qui suit dans un module standard.

Les macros associées aux commandes ne sont pas créées...
C'est seulement pour illustrer ce dont tu peux avoir de besoin...

'------------------------------------------
Sub Creation_Mon_Menu()
Dim MonMenu As CommandBarControl
Dim Ajout As CommandBarPopup
Dim MenuItem As CommandBarPopup
Dim MonItem As CommandBarButton

Call DeleteMenu

Set MonMenu = Application.CommandBars(1).FindControl(ID:0010)
If MonMenu Is Nothing Then
' ajoute le menu à la fin
Set Ajout = CommandBars(1).Controls.Add _
(Type:=msoControlPopup, _
temporary:=True)
Else
' Ajoute le menu juste avant le bouton aide "?"
Set Ajout = Application.CommandBars(1).Controls.Add _
(Type:=msoControlPopup, _
Before:=MonMenu.Index, _
temporary:=True)
End If

' ajoute l'étiquette "Mon Menu" au menu sur la barre des menus d 'excel
Ajout.Caption = "Mon menu"

' Premier ITEM du MENU , important regarde
' (Type:=msoControlPopup) au lieu msoControlButton de qui
' permet d'en faire un sous-menu...
Set MenuItem = Ajout.Controls.Add(Type:=msoControlPopup)

'Cet item va avoir un sous-menu
With MenuItem
.Caption = "Ajuster Commentaires"
End With

' Premier ITEM du SOUS-MENU
Set MonItem = MenuItem.Controls.Add(Type:=msoControlButton)
With MonItem
.Style = msoButtonIconAndCaption
.Caption = "Réinitialiser Dernière cellule"
.FaceId = 590
.OnAction = "NettoieEtDerniereCellule"
End With

' deuxième ITEM du SOUS-MENU
Set MonItem = MenuItem.Controls.Add(Type:=msoControlButton)
With MonItem
'Créer une ligne de séparation
.BeginGroup = True '<<<================== .Style = msoButtonIconAndCaption
.Caption = "Remplacer par la valeur"
.FaceId = 595
.OnAction = "Met_en_dur"
End With

' Troisième ITEM du SOUS-MENU
Set MonItem = MenuItem.Controls.Add(Type:=msoControlButton)
With MonItem
.Style = msoButtonIconAndCaption
.Caption = "Feuille à 80%"
.FaceId = 596
.OnAction = "Zoom"
End With
End Sub
Sub DeleteMenu()
On Error Resume Next
Application.CommandBars(1).Controls("Mon menu").Delete
End Sub
'------------------------------------------



MichD
--------------------------------------------------------------
"Péhemme" a écrit dans le message de groupe de discussion :
50c5c2a0$0$1209$

Bonjour à Tous,

Contraint et forcé, je suis passé de Excel 2003 à Excel 2010.
Les barres d'outils (créées par macros) de mes fichiers se mettent dans
l'onglet "Compléments" du ruban.
Mouais... mais je ne vois pas apparaitre mes séparateurs de "groupes de
boutons de commande".
Que dois-je faire pour y remédier ?
J'ai lu une réponse en anglais sur Google qui ne m'a pas séduit (elle disait
: BeginGroup n'existe plus).
Je sais que vous êtes meilleurs que cela et que vous saurez me recréer cet
indispensable séparateur.
;-)
Merci d'avance
Michel
MichD
Le #25046852
Essaie comme ceci :

'-------------------------------------------------
Sub test()
Application.CommandBars(1).Controls(1).Delete
With Application.CommandBars(1).Controls.Add(Type:=msoControlPopup, _
Before:=1, temporary:=True)
.Visible = True
.Caption = "Remise-2013"
With .Controls.Add(msoControlButton)
.Style = msoButtonIconAndCaption
.Caption = "Michd"
.OnAction = "Précédente"
.TooltipText = "Va à la page Précédente"
.FaceId = 132
End With
With .Controls.Add(msoControlButton)
.BeginGroup = True
.Style = msoButtonIconAndCaption
.Caption = "Michd1"
.OnAction = "Suivante"
.TooltipText = "Va à la page suivante"
.FaceId = 133
End With
End With
End Sub
'-------------------------------------------------



MichD
--------------------------------------------------------------
Publicité
Poster une réponse
Anonyme