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
Je veux bien les explications stp et mode d'emploi si c'est possibleok demain je t'expliquerais plus en détail l'astuce
les fichier xlsx ne peuvent pas contenir de ruban UI1 ) C'est un fichier contenant des macros (classeurtestcustomuidynamique.xlsm)
=> Hors ce que je vais fournir c'est un fichier xlsx
Je peux créer manuellement aussi bien sur PC que MAC un onglet puis un groupe et y attacher une macro xlam sans enregistrer de fichier => ici pas de xml dans le zip du fichier lui mêmequand tu le modifie mano mano il ajoute un xml dans le zip du fichier lui même
Pas besoin de macro avec le xlsx car je peux la lancer depuis l'application Excel via l'onglet+groupe+macro que j'avais créer manuellementmais ça ne sert strictement a rien puisque pas de macro dans un xlsx
Et oui en effet comme je l'ai dit au au début de mon poste je me sers d'un xlam pour chaque user PC activé tout le temps (je t'ai donné plus de précision par la suite avec une capturesoit ton fichier sera un xlsM soit tu devra distribuer un xlaM qui sera activé tout le temps dans chaque pc de tes utilisateurs
Sub test1()
MsgBox "mamacro xlam 1"
End Sub
Sub test2()
MsgBox "mamacro xlam 2"
End Sub
Sub test3()
MsgBox "mamacro xlam 3"
End Sub
Sub test4()
MsgBox "mamacro xlam 4"
End Sub
<mso:customUI xmlns:x1="http://schemas.microsoft.com/office/2009/07/customui/macro" xmlns:mso="http://schemas.microsoft.com/office/2009/07/customui">
<mso:ribbon>
<mso:qat/>
<mso:tabs>
<mso:tab id="mso_c3.115169" label="mon onglet perso" insertBeforeQ="mso:TabAddIns">
<mso:group id="mso_c4.115169" label="mes macro du xla" autoScale="true">
<mso:button idQ="x1:C:_Users_patrick1_AppData_Roaming_Microsoft_AddIns_MacroXLAruban.xlam_test1_0_159DC0" label="toto" imageMso="ListMacros" onAction="C:\Users\patrick1\AppData\Roaming\Microsoft\AddIns\MacroXLAruban.xlam!test1" visible="true"/>
<mso:button idQ="x1:C:_Users_patrick1_AppData_Roaming_Microsoft_AddIns_MacroXLAruban.xlam_test2_1_159DD0" label="titi" imageMso="ListMacros" onAction="C:\Users\patrick1\AppData\Roaming\Microsoft\AddIns\MacroXLAruban.xlam!test2" visible="true"/>
<mso:button idQ="x1:C:_Users_patrick1_AppData_Roaming_Microsoft_AddIns_MacroXLAruban.xlam_test3_2_159DD0" label="fifi" imageMso="ListMacros" onAction="C:\Users\patrick1\AppData\Roaming\Microsoft\AddIns\MacroXLAruban.xlam!test3" visible="true"/>
<mso:button idQ="x1:C:_Users_patrick1_AppData_Roaming_Microsoft_AddIns_MacroXLAruban.xlam_test4_3_159DD0" label="loulou" imageMso="ListMacros" onAction="C:\Users\patrick1\AppData\Roaming\Microsoft\AddIns\MacroXLAruban.xlam!test4" visible="true"/>
</mso:group>
</mso:tab>
</mso:tabs>
</mso:ribbon>
</mso:customUI>
<?xml version="1.0"?>
-<mso:customUI xmlns:mso="http://schemas.microsoft.com/office/2009/07/customui" xmlns:x1="http://schemas.microsoft.com/office/2009/07/customui/macro" xmlns:x2="PDFMaker.OfficeAddin">
-<mso:ribbon>
<mso:qat/>
-<mso:tabs>
-<mso:tab insertBeforeQ="mso:TabBackgroundRemoval" label="INDEX" id="mso_c1.11178E9">
-<mso:group label="MACROS" id="mso_c2.11178E9" autoScale="true" imageMso="ListMacros">
<mso:button label="CORR FOLIOS" imageMso="Clear" visible="true" onAction="C:\Users\NomDuUsers\Documents\MACROS COMPLEMENTS\MACROS INDEX\INDEX MACROS V2.xlam!CorrComaDashSpace" idQ="x1:C:_Users_NomDuUsers_Documents_MACROS_COMPLEMENTS_MACROS_INDEX_INDEX_MACROS_V2.xlam_CorrComaDashSpace_0_114C4B8"/>
<mso:button label="FAMILIES" imageMso="ListMacros" visible="true" onAction="C:\Users\NomDuUsers\Documents\MACROS COMPLEMENTS\MACROS INDEX\INDEX MACROS V2.xlam!Family" idQ="x1:C:_Users_NomDuUsers_Documents_MACROS_COMPLEMENTS_MACROS_INDEX_INDEX_MACROS_V2.xlam_Family_1_114C4B8"/>
<mso:button label="CHANGE FOLIOS" imageMso="TableSelect" visible="true" onAction="C:\Users\NomDuUsers\Documents\MACROS COMPLEMENTS\MACROS INDEX\INDEX MACROS V2.xlam!ParamChangeFolios" idQ="x1:C:_Users_NomDuUsers_Documents_MACROS_COMPLEMENTS_MACROS_INDEX_INDEX_MACROS_V2.xlam_ParamChangeFolios_0_1183C6A"/>
<mso:button label="CHANGE FOLIOS BY SELECTION" imageMso="Bullets" visible="true" onAction="C:\Users\NomDuUsers\Documents\MACROS COMPLEMENTS\MACROS INDEX\INDEX MACROS V2.xlam!SelectParaChangeFolios" idQ="x1:C:_Users_NomDuUsers_Documents_MACROS_COMPLEMENTS_MACROS_INDEX_INDEX_MACROS_V2.xlam_SelectParaChangeFolios_1_1183C6A"/>
</mso:group>
</mso:tab>
-<mso:tab idQ="mso:TabHome">
<mso:group visible="false" idQ="mso:GroupIdeas"/>
</mso:tab>
<mso:tab idQ="x2:ACROBAT_RIBBON"/>
</mso:tabs>
</mso:ribbon>
</mso:customUI>
Sub testUIUI()
Dim XmLdoC, TabS, XtaB, grouP, XbuttoN, Nom$, I&
Set XmLdoC = createXMLbase
Set TabS = XmLdoC.getelementsbytagname("tabs")(0)
'<group id="Group_1" label="GROUPETEST" imageMso="FormulaMoreFunctionsMenu" autoScale="true">
'creation de l'onglet
Set XtaB = TabS.appendchild(XmLdoC.createelement("tab"))
With XtaB: .setattribute "id", "tab1": .setattribute "label", "mon premier onglet": End With
'creation du premier groupe
Set grouP = XtaB.appendchild(XmLdoC.createelement("group"))
With grouP: .setattribute "id", "group1": .setattribute "label", "mon premier groupe": End With
'<button id="x1" label="test1" imageMso="ListMacros" onAction="test1" visible="true"/>
Set XbuttoN = grouP.appendchild(XmLdoC.createelement("button"))
With XbuttoN
.setattribute "id", "x1"
.setattribute "label", "bouton1"
.setattribute "imageMso", "ListMacros"
.setattribute "onAction", "test1"
.setattribute "visible", "true"
.setattribute "size", "large"
End With
'<button id="x2" label="test2" imageMso="ListMacros" onAction="test2" visible="true"/>
Set XbuttoN = grouP.appendchild(XmLdoC.createelement("button"))
With XbuttoN
.setattribute "id", "x2"
.setattribute "label", "bouton2"
.setattribute "imageMso", "ListMacros"
.setattribute "onAction", "test2"
.setattribute "visible", "true"
.setattribute "size", "large"
End With
'<button id="x3" label="test3" imageMso="ListMacros" onAction="test3" visible="true"/>
Set XbuttoN = grouP.appendchild(XmLdoC.createelement("button"))
With XbuttoN
.setattribute "id", "x3"
.setattribute "label", "bouton3"
.setattribute "imageMso", "ListMacros"
.setattribute "onAction", "test3"
.setattribute "visible", "true"
.setattribute "size", "large"
End With
Nom = Environ("userprofile") & "\AppData\Local\Microsoft\Office\Excel.officeUI"
I = FreeFile
Open Nom For Output As #I: Print #I, XmLdoC.XML: Close #I
End Sub
-<mso:customUI xmlns:mso="http://schemas.microsoft.com/office/2009/07/customui" xmlns:x1="http://schemas.microsoft.com/office/2009/07/customui/macro" xmlns:x2="PDFMaker.OfficeAddin">