Sub Add_AddIn() 'version Mac (peut être PC aussi pouvez vous confirmer SVP)
Dim addInPath As String
addInPath = "MonChemin/TEST.xlam"
AddIns.Add addInPath
AddIns("TEST").Installed = True '
End Sub
C'est mortel il a fait tout le travail tout seul en 2 clicre
tient donc??!!
il va falloir faire une recherche sur ce point
2d kado
bon tu es prêt?
prend ce fichier met le dans un dossier vide
lance le
click sur le bouton de la feuille
dans la boite de dialog fichier qui va s'ouvrir choisi un de nos fichier custom valide
attend
ferme le message qui te dis que c'est terminé
regarde dans le dossier SURPRISE!!!!!
VA = Range("MyXML[[BALISE TYPE]:[ATTRIBUT 6]]").Value
For i = LBound(VA) To UBound(VA)
V = Replace(Replace(Application.Trim(Join(Application.Index(VA, i, [{3,4,5,6,7,8}]))), " />", "/>"), " >", ">")
Debug.Print V
' If InStrRev(V, "/>") = 0 Then
' Debug.Print V
' Debug.Print "Fermeture balise à prendre en compte"
' End If
Next
Résultat de construction des lignes (pas la construction du xml pour l'instant) :
<tab id="myTabID_1" label="NameLabelTab">
<group id ="myGroupID_1" label="NameLabelGroup">
<button id="myButtonID_1" label="NameLabelButton" onAction="MacroName" imageMso="NameImage" size="large"/>
<button id="myButtonID_2" label="NameLabelButton" onAction="MacroName" imageMso="NameImage" size="large"/>
<button id="myButtonID_3" label="NameLabelButton" onAction="MacroName" imageMso="NameImage" size="large"/>
<group id ="myGroupID_2" label="NameLabelGroup">
<box id="myBoxID_1" boxstyle="vertical/horizontal">
<button id="myButtonID_4" label="NameLabelButton" onAction="MacroName" imageMso="NameImage" size="large"/>
<separator id="mySeparatorID_1"/>
<button id="myButtonID_5" label="NameLabelButton" onAction="MacroName" imageMso="NameImage" size="large"/>
<separator id="mySeparatorID_2"/>
<buttonGroup id="myButtonGroupID_1">
<button id="myButtonID_6" label="NameLabelButton" onAction="MacroName" imageMso="NameImage" size="large"/>
<button id="myButtonID_7" label="NameLabelButton" onAction="MacroName" imageMso="NameImage" size="large"/>
VA = Range("MyXML[[BALISE TYPE]:[ATTRIBUT 6]]").Value
For i = LBound(VA) To UBound(VA)
V = Replace(Replace(Application.Trim(Join(Application.Index(VA, i, [{3,4,5,6,7,8}]))), " />", "/>"), " >", ">")
' Debug.Print V
If InStrRev(V, "/>") = 0 Then
Debug.Print V
Debug.Print "Fermeture balise à prendre en compte"
End If
Next
<tab id="myTabID_1" label="NameLabelTab">
Fermeture balise à prendre en compte
<group id ="myGroupID_1" label="NameLabelGroup">
Fermeture balise à prendre en compte
<group id ="myGroupID_2" label="NameLabelGroup">
Fermeture balise à prendre en compte
<box id="myBoxID_1" boxstyle="vertical/horizontal">
Fermeture balise à prendre en compte
<buttonGroup id="myButtonGroupID_1">
Fermeture balise à prendre en compte
Rere
Maintenant tu sais pourquoi j'ai insisté au départ sur le point "savoir le faire à la main"
tout simplement par ce que comme ca avec les bon outils dans VBA tu sais l'automatiser
tu a déjà de quoi te faire des petits ruban simple mais sympa
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
<ribbon startFromScratch="false">
<tabs>
<tab id="tab-1" label="Onglet_0">
<group id="group-0" label="premiergroup">
<box id="box_1" boxStyle="vertical">
<splitButton id="splitButton_1">
<menu id="menu_1" itemSize="large">
<button id="button_1" onAction="button_1_Click" imageMso="SelectionPane"/>
<button id="button_2" onAction="button_2_Click" imageMso="WebGoBack"/>
<button id="button_3" onAction="button_3_Click" imageMso="ObjectBringToFront"/>
</menu>
</splitButton>
</box>
<separator id="separator_1"/>
<separator id="separator_2"/>
<separator id="separator_3"/>
<splitButton id="splitButton_2">
<menu id="menu_2">
<button id="button_4" onAction="button_4_Click" imageMso="ResearchPane"/>
<button id="button_5" onAction="button_5_Click" imageMso="ThemeBrowseForThemes"/>
<button id="button_6" onAction="button_6_Click" imageMso="XmlDataRefresh"/>
</menu>
</splitButton>
<separator id="separator_4"/>
<separator id="separator_5"/>
<separator id="separator_6"/>
<splitButton id="splitButton_3" size="large">
<menu id="menu_3" itemSize="large">
<button id="button_7" onAction="button_7_Click" imageMso="ObjectBorderOutlineColorMoreColorsDialog" label="toto"/>
<button id="button_8" onAction="button_8_Click" imageMso="ViewDocumentActionsPane" label="Tata"/>
<button id="button_9" onAction="button_9_Click" imageMso="LabelInsert" label="loulou"/>
</menu>
</splitButton>
</group>
</tab>
</tabs>
</ribbon>
</customUI>
Y a-t-il une raison pour que tu mettes dans le XML trois séparateur d'affilée ?<separator id="separator_1"/> <separator id="separator_2"/> <separator id="separator_3"/>
C'est déjà bien il fallait le faire comme ça, il es super bien faitil faudra que le le fasse avec un vrai treeview un jour pour le fun
LOL
B = Array("TAB", "GROUP", "BUTTONGROUP", "BOX", "SPLITBUTTON", "MENU", "BUTTON", "TOGGLEBUTTON", "SEPARATOR")
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
<ribbon startFromScratch="false">
<tabs>
<tab id="tab-0" label="exemple">
<group id="group-0" label="un menu avec titre theme">
<menu id="menu_0" label="du sport">
<menuSeparator id="Sepmenu_0" title="Sport avec Ballon"/>
<button id="button_0" label="foot" onAction="foot1_click" imageMso="InkColorMoreColorsDialog"/>
<button id="button_1" label="basket" onAction="basket1_click" imageMso="ObjectBorderOutlineColorMoreColorsDialog"/>
<menuSeparator id="Sepmenu_1" title="Sport avec Balle"/>
<button id="button_2" label="tennis" onAction="tennis1_click" imageMso="ShapeOval"/>
<button id="button_3" label="pingpong" onAction="pingpong1_click" imageMso="ShapeOval"/>
</menu>
</group>
<group id="group_2" label="le même en plus gros">
<menu id="menu_1" label="du sport" itemSize="large">
<menuSeparator id="Sepmenu_2" title="Sport avec ballon"/>
<button id="button_4" label="foot" onAction="foot_click" imageMso="ObjectBorderOutlineColorMoreColorsDialog"/>
<button id="button_5" label="basket" onAction="basket_click" imageMso="ObjectBorderOutlineColorMoreColorsDialog"/>
<menuSeparator id="Sepmenu_3" title="Sport avec balle"/>
<button id="button_6" label="Tennis" onAction="Tennis_click" imageMso="ShapeOval"/>
<button id="button_7" label="Pingpong" onAction="Pingpong_click" imageMso="ShapeOval"/>
</menu>
</group>
</tab>
</tabs>
</ribbon>
</customUI>
Il est trop bien ton compilateur, cas se fait rapidement sans se prendre la tête,je te laisse regarder
je te donne pas les callback tu a mon compilateur maintenant
LOL
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<customUI azerty="http://schemas.microsoft.com/office/2009/07/customui">
<ribbon startFromScratch="false">
<tabs>
<tab visible="true" id="tab0" label="onglet0">
<group id="group_1" label="exemple menu en cascade">
<menu id="menu-0" label="menuX_0">
<button id="button_0" label="item menu 1" onAction="item_menu_1_click" imageMso="ActiveXImage"/>
<button id="button_1" label="item menu 2" onAction="item_menu_2_click" imageMso="ObjectBringToFront"/>
<button id="button_2" label="item menu 3" onAction="item_menu_3_click" imageMso="ObjectBringForward"/>
<menu id="menu-1" label="sub menu 1" imageMso="ObjectBorderOutlineColorMoreColorsDialog">
<button id="button_3" label="item 1" onAction="item_1_click" imageMso="ObjectFormatDialog"/>
<menu id="menu-2" label="sub menu 2" imageMso="ObjectBorderOutlineColorMoreColorsDialog">
<button id="button_6" label="sub sub item1" onAction="sub__sub_item1_click" imageMso="MacroSecurity"/>
<button id="button_7" label="sub sub otem 2" onAction="sub_sub_otem_2_click" imageMso="MacroRecord"/>
<menu id="menu_3" label="sous menu " imageMso="ObjectBorderOutlineColorMoreColorsDialog">
<button id="button_8" label="sous item 1" onAction="sous_item_1_click" imageMso="Paste"/>
<button id="button_9" label="sous item 2" onAction="sous_item_2_click" imageMso="QueryParameters"/>
<button id="button_10" label="sous item 3" onAction="sous_item_3_click" imageMso="SelectCurrentRegion"/>
</menu>
</menu>
<button id="button_4" label="item 2" onAction="item_2_click" imageMso="SendCopySelectNames"/>
<button id="button_5" label="item 3" onAction="item_3_click" imageMso="WatchWindow"/>
</menu>
</menu>
</group>
</tab>
</tabs>
</ribbon>
</customUI>