Questions pour la création d'un barre d'outils personnalisé
Le
Alex

Bonjour à tous,
Je souhaiterai personnaliser mon ruban complément avec des fonctions de b=
outon Excel existant et des macros "perso", et voudrais savoir si quelqu'un=
connaitrait le N° ID pour l'icône "Couleur Police" et l'icône "Coule=
ur remplissage cellule" dans le but de l'intégrer en tant que controls.ad=
d dans une barre controls.add si je peux dire, car j'ai tenté de trouvé=
cette information dans outils options personnaliser le ruban, pensant que =
cela serait indiqué ?
Et le top serait de savoir si je peux limiter l'affichage à 5 couleurs, u=
niquement pour les icônes personnalisées, dans le ruban Accueil l'ensem=
ble des couleurs peuvent rester ?
De même j'ai créer une mise en forme automatique, est il possible de n'=
ajouter que cette mise forme crée dans mon ruban complément ? si oui, c=
omment fait on cela.
Merci par avance de votre aide.
Alex
Je souhaiterai personnaliser mon ruban complément avec des fonctions de b=
outon Excel existant et des macros "perso", et voudrais savoir si quelqu'un=
connaitrait le N° ID pour l'icône "Couleur Police" et l'icône "Coule=
ur remplissage cellule" dans le but de l'intégrer en tant que controls.ad=
d dans une barre controls.add si je peux dire, car j'ai tenté de trouvé=
cette information dans outils options personnaliser le ruban, pensant que =
cela serait indiqué ?
Et le top serait de savoir si je peux limiter l'affichage à 5 couleurs, u=
niquement pour les icônes personnalisées, dans le ruban Accueil l'ensem=
ble des couleurs peuvent rester ?
De même j'ai créer une mise en forme automatique, est il possible de n'=
ajouter que cette mise forme crée dans mon ruban complément ? si oui, c=
omment fait on cela.
Merci par avance de votre aide.
Alex
Sub Excel_CommandBars_List()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error Resume Next
Sheets("Excel_CommandBar").Delete
Dim cb As CommandBar
Worksheets.Add
ActiveSheet.Name = "Excel_CommandBar"
[A1] = "ID": [B1] = "Nom Local": [C1] = "VBA name"
[D1] = "Control ID": [E1] = "Control caption"
i = 2
With ActiveSheet
For Each cb In CommandBars
For Each c In cb.Controls
.Cells(i, 1).Value = cb.ID
.Cells(i, 2).Value = cb.NameLocal
.Cells(i, 3).Value = cb.Name
.Cells(i, 4).Value = c.ID
.Cells(i, 5).Value = c.Caption
i = i + 1
Next c
Next cb
Range("A:F").Columns.AutoFit
End With
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
isabelle
MsgBox Application.CommandBars("Formatting").Controls("Couleur de
police").ID
MsgBox Application.CommandBars("Formatting").Controls("Couleur de
remplissage").ID
isabelle
J'ai bien lancé ta macro, celle ci m'a permis d'obtenir une liste de code ID, mais le code ID "couleur police" testé m'envoie un message d'erreur.
Il faut que je teste plus en profondeur.
Merci encore pour pour ton aide.
Cordialement.
Alex
j'ai fait un test avec le FaceId = 401 --> "Couleur Police"
j'ai mit le control sur le menu cellule (click droit sur la feuille)
Sub Add_Commmand_to_Cell_menu()
With Application.CommandBars("Cell").Controls.Add(msoControlButton)
.Caption = "Said Hello"
.BeginGroup = True
.FaceId = 401
.OnAction = "Hello"
End With
End Sub
Sub Hello()
MsgBox "Hello"
End Sub
Sub Reset_Cell_menu() 'suprime les controls perso
Application.CommandBars("Cell").Reset
End Sub
isabelle
Le 2014-02-12 18:16, Alex a écrit :
Merci encore pour ton message, j'ai testé tes lignes cela fonctionne bien .
Mais j'ai du mal m'exprimer, je souhaiterai afficher l'outil Couleur police et couleur remplissage dans mon ruban complément. De plus pour ces deux fonctions je souhaiterais y mettre que 5 couleurs bien définis.
As tu une idée pour faire cela ?
De même toujours dans mon ruban complément, j'aurai aimé pouvoir mett re mes deux modèle "Mettre sous forme de tableau", si cela est possible ?
Mon but final étant de faire dans le ruban complément un barre d'outil modele utilisateur et je ferai cela en format xlma
Merci encore pour ton aide.
Alex
T'as essayer la l'enregistrement d'une macro et de la personnalisation
manuelle de ta barre d'outil. Suffit ensuite de consulter le code vba
de la macro.
--
Vous voulez un conseil ?
Ne faites jamais confiance à ceux qui vous donnent des conseils.
voici un autre exemple, pour les couleurs j'ai utilisé un msoControlButton ->
style msoButtonAutomatic mais il y en a d'autre
msoControlButton - style
0 msoButtonAutomatic
2 msoButtonCaption
1 msoButtonIcon
3 msoButtonIconAndCaption
11 msoButtonIconAndCaptionBelow
7 msoButtonIconAndWrapCaption
15 msoButtonIconAndWrapCaptionBelow
14 msoButtonWrapCaption
Sub barre_menus_couleur_SUPR()
Dim Cbar As CommandBar
CommandBars("MaBarre_Couleur").Delete
End Sub
Sub barre_menus_couleur()
Dim Cbar As CommandBar, Cbut As CommandBarButton
Dim Cpop1 As CommandBarPopup
Dim x As Byte
Set Cbar = CommandBars.Add(Name:="MaBarre_Couleur", Position:=msoBarTop,
temporary:=True)
Cbar.Protection = msoBarNoMove '+ msoBarNoCustomize
Set Cpop1 = Cbar.Controls.Add(msoControlPopup)
With Cpop1
.Caption = "Mes_Couleur"
.Tag = "sm1"
End With
Set Cbut = Cpop1.Controls.Add(msoControlButton)
With Cbut
.Style = msoButtonAutomatic
.FaceId = 482
' .Caption = "Rouge"
.OnAction = "Couleur_Rouge"
.Tag = "sm1cbut1"
End With
Set Cbut = Cpop1.Controls.Add(msoControlButton)
With Cbut
.Style = msoButtonAutomatic
.FaceId = 394
' .Caption = "Vert"
.OnAction = "Couleur_Vert"
.Tag = "sm1cbut2"
End With
Cbar.Visible = True
End Sub
Sub Couleur_Rouge()
With Selection.Font
.Color = -16776961
.TintAndShade = 0
End With
End Sub
Sub Couleur_Vert()
With Selection.Font
.Color = -11489280
.TintAndShade = 0
End With
End Sub
isabelle
Pour Répondre à Baton.rouge, oui j'avais tenté de passer par la perso nnalisation du Ruban en manuel et fais cela avec l'enregistreur de macro, s oit la macro était vide, et lorsque je récupérai des lignes, je ne po uvais pas l'exploiter. Vu que je suis un novice en vba, j'utilise beaucoup l'enregistreur ;) mais merci pour ta aide.
Alors là Isabelle, je te dis Chapeau ;), c'est super ce que tu m'as propo sé.
Sais tu si je peux remplacer le "face.id" par un remplissage de la zone en zone couleur sur laquelle je rentrerai ma référence couleur ?
Merci encore pour votre aide.
Alex
je suis contente de voir que ton projet avance bien,
le plus simple que je vois, surtout si ton fichier se promène, est d'ajouter une
feuille à ton classeur et y insérer tes images.ico et de masquer cette feuille
Sheets("Icons").Visible = xlVeryHidden
dans cette exemple j'ai nommé cette feuille "Icons"
sur la feuille "Icons" j'ai inséré en premier une image ( MONimage.ico) de
couleur rouge, alors cette image est le Shape(1)
la deuxième image insérée sera le Shape(2) etc...
remarque la différence entre le code du bouton Rouge
Sheets("Icons").Shapes(1).CopyPicture
.PasteFace
et le code du bouton Vert
.FaceId = 482
remarque également la propriété .OnAction qui est affecté a la même procédure
dans les deux cas mais avec l'ajout d'un argument "nc" qui peut être de 1 à 5 ou
plus
au lieu d'avoir une procédure par couleur.
'-------------------------------------------------------------------------------------
With Cbut
.Style = msoButtonAutomatic
.OnAction = "'Couleur 1'"
.Tag = "sm1cbut1"
Sheets("Icons").Shapes(1).CopyPicture
.PasteFace
End With
Set Cbut = Cpop1.Controls.Add(msoControlButton)
With Cbut
.Style = msoButtonAutomatic
.OnAction = "'Couleur 2'"
.Tag = "sm1cbut2"
.FaceId = 394
End With
'-------------------------------------------------------------------------------------
Sub couleur(nc As Integer)
Select Case nc
Case 1: Selection.Font.Color = RGB(180, 0, 0) ' rouge
Case 2: Selection.Font.Color = RGB(0, 116, 0) ' vert
Case 3: Selection.Font.Color = RGB(58, 95, 84) ' bleu
Case 4: Selection.Font.Color = RGB(255, 255, 0) ' jaune
Case 5: Selection.Font.Color = RGB(149, 109, 169) ' brun
End Select
End Sub
'-------------------------------------------------------------------------------------
isabelle
Le 2014-02-14 18:10, Alex a écrit :
http://cjoint.com/?DBpgKaT1OVh
que tu pourras modifier à ta guise,
isabelle
Le 2014-02-14 23:51, isabelle a écrit :