re
je vais chercher le id du contour sachant que ces contrôles sont dans la xldialog ca pas être triste a chercher
re
en 2 seconde une macro de 10 lignes donne les barre et leur items(ctrols).id
il semblerait que ca soit celle ci de part son nom
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Sub listCMBS() Cells.Clear For Each cmb In Application.CommandBars i = i + 1 Cells(1, i) = cmb.Name e = 1 For Each Ctrl In cmb.Controls e = e + 1 Cells(e, i) = Ctrl.ID Next Next End Sub 'Fill Color
[FONT=Calibri]Fill Color[/FONT] [FONT=Calibri]1453[/FONT] [FONT=Calibri]1455[/FONT] [FONT=Calibri]1456[/FONT] [FONT=Calibri]1457[/FONT] [FONT=Calibri]1051[/FONT] [FONT=Calibri]1006[/FONT] [FONT=Calibri]2668[/FONT]
re
j'ai amélioré la sub et j'obtiens les icons avec c'est maintenant une fonction
et il semblerait que plusieurs aient le même icones c'est peut être ce qui m'a induit en erreur
voila le code pour lister les commandbars et les id de chaque contrôles qu'elles contiennent
avec les icons c'est peut être un peu long mais le résultat est parlant
aperçu d'e la barre "Drawing"on tiens la peut être la réponse je vais essayer
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 'liste des commandbar Sub liste() listCMBS True 'on enleve le "true" si on veut pas les icons End Sub Function listCMBS(Optional ico = False) Dim CmB, I, E Cells.Clear For Each CmB In Application.CommandBars I = I + 1 Cells(1, I) = CmB.Name E = 1 For Each Ctrl In CmB.Controls E = E + 1 Cells(E, I) = Ctrl.ID On Error Resume Next If ico = True Then With ActiveSheet Ctrl.CopyFace .Paste .Shapes(.Shapes.Count).Left = .Cells(E, I).Left .Shapes(.Shapes.Count).Top = .Cells(E, I).Top End With End If On Error GoTo 0 Next Next End Function 'Fill Color
si c'est bon c'est Gnain qui m'aura mis sur la voix
Pièce jointe 175146
Partager