Questions pour la création d'un barre d'outils personnalisé
15 réponses
Alex
Bonjour =E0 tous,=20
Je souhaiterai personnaliser mon ruban compl=E9ment avec des fonctions de b=
outon Excel existant et des macros "perso", et voudrais savoir si quelqu'un=
connaitrait le N=B0 ID pour l'ic=F4ne "Couleur Police" et l'ic=F4ne "Coule=
ur remplissage cellule" dans le but de l'int=E9grer en tant que controls.ad=
d dans une barre controls.add si je peux dire, car j'ai tent=E9 de trouv=E9=
cette information dans outils options personnaliser le ruban, pensant que =
cela serait indiqu=E9 ?
Et le top serait de savoir si je peux limiter l'affichage =E0 5 couleurs, u=
niquement pour les ic=F4nes personnalis=E9es, dans le ruban Accueil l'ensem=
ble des couleurs peuvent rester ?
De m=EAme j'ai cr=E9er une mise en forme automatique, est il possible de n'=
ajouter que cette mise forme cr=E9e dans mon ruban compl=E9ment ? 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
bonjour 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
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
isabelle
aussi,
MsgBox Application.CommandBars("Formatting").Controls("Couleur de police").ID MsgBox Application.CommandBars("Formatting").Controls("Couleur de remplissage").ID
isabelle
aussi,
MsgBox Application.CommandBars("Formatting").Controls("Couleur de
police").ID
MsgBox Application.CommandBars("Formatting").Controls("Couleur de
remplissage").ID
MsgBox Application.CommandBars("Formatting").Controls("Couleur de police").ID MsgBox Application.CommandBars("Formatting").Controls("Couleur de remplissage").ID
isabelle
Alex
Merci 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
Merci 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 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
isabelle
bonjour 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 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
bonjour 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 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 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
Alex
Bonjour Isabelle,
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
Bonjour Isabelle,
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
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
Baton .rouge
On Fri, 14 Feb 2014 07:35:56 -0800 (PST), Alex wrote:
Bonjour Isabelle,
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 mettre 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.
On Fri, 14 Feb 2014 07:35:56 -0800 (PST), Alex <alex-m@orange.fr>
wrote:
Bonjour Isabelle,
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 mettre 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.
On Fri, 14 Feb 2014 07:35:56 -0800 (PST), Alex wrote:
Bonjour Isabelle,
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 mettre 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.
isabelle
bonjour Alex,
voici un autre exemple, pour les couleurs j'ai utilisé un msoControlButton -> style msoButtonAutomatic mais il y en a d'autre
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
Alex
Merci pour vos réponses.
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
Merci pour vos réponses.
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 ?
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
isabelle
bonjour 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 :
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 ? Alex
bonjour 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 :
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 ?
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 :
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 ? Alex
isabelle
j'oubliais le fichier ico
http://cjoint.com/?DBpgKaT1OVh
que tu pourras modifier à ta guise,
isabelle
Le 2014-02-14 23:51, isabelle a écrit :
bonjour 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 :
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 ? Alex
j'oubliais le fichier ico
http://cjoint.com/?DBpgKaT1OVh
que tu pourras modifier à ta guise,
isabelle
Le 2014-02-14 23:51, isabelle a écrit :
bonjour 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 :
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 ?
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 :
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 ? Alex