Pré scriptum, nb, nota etc... je n'ai nullement l'intention de te
froisser, je respecte trop tes compétences sur Excel (entre autre)
J'espère que tu ne prend pas mes remarques au sérieux et que tu vois
bien les "souriettes" même si il manque le ton.
Le 09/12/2015 17:04, MichD a écrit :
> | OK, ça j'ai compris, mais je ne cherche pas à modifier le ruban, juste à
> | connaitre les noms des boutons de chaque onglet du ruban
> Tu as des yeux, alors, tu peux le faire... au besoin, fais appel à tes
> lunettes.
Attend, je compte... 1, 2, 3... le compte est bon, j'ai effectivement 2
yeux et une paire de lunette sur le nez et d'autres dans le tiroir,
mais... aucune ne me permet d'afficher les noms des boutons des
onglets... aurais-tu des lunettes spéciales ? ;-)))))))
> Ruban est inaccessible en VBA!
Au risque de te décevoir, j'ai un début de commencement de code qui me
donne certaines informations, mais je reconnais que ça n'est pas
exactement ce que j'attend et que je ne sais pas comment trier ces
infos, mais, si je lis bien, c'est bien les noms de toutes les commandes
Excel, resterait à les remettre dans l'ordre des onglets car là c'est
juste l'ordre des ID
Option Explicit
Dim oOutXL As Excel.Application
Dim I As Long
Dim iRowCount As Long
Dim oItm As Object ' so it'll handle varying item types
Dim oSheet As Excel.Worksheet
Sub GetExcelCommandBarIDs()
Application.ScreenUpdating = False
If MsgBox("This will clear the current worksheet, OK to continue?",
vbOKCancel) = 1 Then
Cells.Select
Selection.ClearContents
iRowCount = 0
Set oSheet = ActiveSheet
Set oOutXL = New Excel.Application
GetInspectorIDs oOutXL, ""
Selection.AutoFilter
Cells.Select
Cells.EntireColumn.AutoFit
Range("A1").Select
MsgBox "The spreadsheet is complete."
End If
End Sub
Sub GetInspectorIDs(oItm, sType As String)
Dim oCBs As Office.CommandBars
Dim oCtl As Office.CommandBarControl
Application.ScreenUpdating = False
Set oCBs = oItm.Application.CommandBars
iRowCount = 2
For I = 1 To 35000
Set oCtl = oCBs.FindControl(, I)
If Not (oCtl Is Nothing) Then
iRowCount = iRowCount + 1
oSheet.Cells(iRowCount, 1) = "CommandBArs"
oSheet.Cells(iRowCount, 2) = sType
oSheet.Cells(iRowCount, 3) =
oCtl.Parent.Name
oSheet.Cells(iRowCount, 4) = oCtl.Caption
oSheet.Cells(iRowCount, 5) = CStr(I)
End If
Next
End Sub