Microsoft 365 Création d'un nouvel onglet du ruban en vba et y attacher 4 macros complémentaires (MAC et PC)

RyuAutodidacte

XLDnaute Impliqué
Bonjour,

j'ai beau chercher partout mais je ne trouve de solution pour le moment …

Comme l'onglet "Acceuil" qui existe dans le ruban, je cherche à pourvoir créer par vba un nouvel onglet "TOTO" et y insérer 4 macros, provenant d'un complément Excel d'un fichier xlam déjà insérer par macro :
VB:
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
Le but est de pourvoir faire une automatisation d'installation sur plusieurs utilisateurs Mac et PC

merci d'avance pour vos réponses

Ryu
 

Staple1600

XLDnaute Barbatruc
Bonjour le fil

@RyuAutodidacte
[Pour info]
Et pour répondre à ton inerrogation de 14h34
Je laisse la charte te répondre ;)
1.12 - Autres points d'attention :

La messagerie privée (conversations) ne doit pas être utilisée pour des demandes d’assistances.

Ne pas suggérer aux membres de traiter leurs questions en dehors du forum en leur suggérant de les publier sur un autre forum ou en vous envoyant un e-mail ou un message privé concernant leurs problèmes. La finalité d’un forum est de partager des solutions à un problème afin que toutes autres personnes ayant le même problème ultérieurement puisse profiter de la réponse apportée au demandeur initial.
 

patricktoulon

XLDnaute Barbatruc
he!! ben en voila une bonne nouvelle

si tu veux apprendre ya pas de soucis je veux bien t'apporter le peu que je sais

perso j'ai appris a le faire a la main c'est la meilleures façon d'apprendre

ce qui est moins facile c'est de savoir ce qui est modifier dans un xlsm d'origine quand on lui met un ribbonUI

reste le codage xml (balise et attributs)bien sur mais on trouve beaucoup d'exemple
 

Staple1600

XLDnaute Barbatruc
Re, Bonjour @patricktoulon

cela dit cela dit ça peut être long
Les fils à rallonge, c'est pas ce qui manque sur le forum ;)
Tant qu'il y a des XLDnautes pour lire ce qui s'y trouvent, c'est pas un problème, non ? ;)

[petit trait d'humour ironique]
Par contre des fil à rallonge qui cause MAC et VBA , c'est une rareté ! ;)
D'autres diront une hérésie
[/petit trait d'humour ironique]

PS: Moi, je dis rien, je ne connais que ce MAC
https://www.youtube.com/watch?v=6ul-cZyuYq4
ou celui-ci
https://www.youtube.com/watch?v=lc8RFPZUkiQ
;)
 

patricktoulon

XLDnaute Barbatruc
pour commencer voila a quoi resemble le contenu d'un fichier xlsm

sans ribbonUI (customUI)
1685554131746.png


maintenant un fichier excel avec un ruban
1685554231068.png

comme tu peux le voir il y a maintenant un dossier customUI
et si on utilise des icon perso il y aura aussi un dossier image

perso comme j'en fait pour pierre paul et jacques des ribbon alors dans le dossier customUI on y trouvera les deux customui.xml
celui pour 2007 et celui pour 2010 et plus et les deux sont en standalone comme ca l'application choisi le bon toute seule
1685554540707.png

mais c'est pas tout
certains xml internes devront être modifié
notamment le fichier *.rels dans le dossier _rels(ajout des relation aux nouveu dossiers et customUI (les deux )
et quelques petites choses par ci par là

si tu es prêt a mener ce défit je t 'aiderais
 
Dernière édition:

patricktoulon

XLDnaute Barbatruc
se soir
pour commencer on va démarrer comme si on voulait refaire le tien OK
apprend a dé zipper un xlsm
tout simplement en changeant l’extension du fichier en ".zip"
trouve le dossier _rel et ajoute ces deux lignes dans la balise globaledu fichier "*.rels"
travaille avec bloknote
VB:
<Relationship Id="custo2007" Type="http://schemas.microsoft.com/office/2006/relationships/ui/extensibility" Target="customUI/customUI.xml"/>
<Relationship Id="custo14" Type="http://schemas.microsoft.com/office/2007/relationships/ui/extensibility" Target="customUI/customUI14.xml"/>
pour travailler proprement met un saut de ligne entre "><" comme ça tu verra les ligne et c'est assez explicit selon moi leur fonctions

pour cela tu extrait le fichier sur ton bureau par exemple tu travaille dessus et tu le reglisse dans le dossier _rels

l’extension zip Windows les ouvres très bien en tant que dossier compressé
si tu fait ça facilement on passera a plus sérieux
 

RyuAutodidacte

XLDnaute Impliqué
ok, j'ai touvé ça :
XML:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties" Target="docProps/app.xml"/><Relationship Id="rId2" Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" Target="docProps/core.xml"/><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="xl/workbook.xml"/></Relationships>

Et j'ai fait ceci :
XML:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties" Target="docProps/app.xml"/><Relationship Id="rId2" Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" Target="docProps/core.xml"/><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="xl/workbook.xml"/></Relationships>

<Relationship Id="custo2007" Type="http://schemas.microsoft.com/office/2006/relationships/ui/extensibility" Target="customUI/customUI.xml"/>

<Relationship Id="custo14" Type="http://schemas.microsoft.com/office/2007/relationships/ui/extensibility" Target="customUI/customUI14.xml"/>
 
Dernière édition:

patricktoulon

XLDnaute Barbatruc
re
bonjour ryu
aujourd'hui on passe au ribbon
tout d'abords tu va ajouter le dossier "customUI" dans le zip
ensuite tu ouvre un bloknot
et tu va mettre ceci
VB:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
    <ribbon startFromScratch="false">
        <tabs>
            <tab id="tab-0" label="INDEX">
                <group id="group-0" label="MACROS">
                    <button id="button_0" onAction="CORRCOMMDASHSPACE" label="CORR FOLIOS" imageMso="Clear" size="large"/>
                    <button id="button_1" label="FAMILY" onAction="family" imageMso="ListMacros" size="large"/>
                    <button id="button_2" label="CHANGE FOLIOS" onAction="ParamChangeFolios" imageMso="TableSelect" size="large"/>
                    <button id="button_3" label="CHANGE FOLIOS BY SELECTION" imageMso="Bullets" size="large" onAction="SelectParaChangeFolios"/>
                </group>
            </tab>
        </tabs>
    </ribbon>
</customUI>

et tu le sauve en "customUI.xml" et tu le glisse dans ce dossier du zip

tu crée le même mais tu modifie la version tu remplace "2006/01" par "2009/07" dans l'attribut de la balise customUI
tu le sauve en "customUI14.xml" et le glisse dans le dossier du zip

en suite tu rechange l’extension ".zip" en ".xlsm"

teste le fichier
 

patricktoulon

XLDnaute Barbatruc
ok, j'ai touvé ça :
XML:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties" Target="docProps/app.xml"/><Relationship Id="rId2" Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" Target="docProps/core.xml"/><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="xl/workbook.xml"/></Relationships>

Et j'ai fait ceci :
XML:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties" Target="docProps/app.xml"/><Relationship Id="rId2" Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" Target="docProps/core.xml"/><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="xl/workbook.xml"/></Relationships>

<Relationship Id="custo2007" Type="http://schemas.microsoft.com/office/2006/relationships/ui/extensibility" Target="customUI/customUI.xml"/>

<Relationship Id="custo14" Type="http://schemas.microsoft.com/office/2007/relationships/ui/extensibility" Target="customUI/customUI14.xml"/>
ouh la la !!! je viens de voir que c'est pas bon ton rels

je te l'ai dis hier il te faut pour travailler proprement mettre un saut de ligne entreles "><"

voila comment ton rel à quoi il doit ressembler
la balise globale est indiquée par les flèches
1685606649988.png
 

Statistiques des forums

Discussions
315 109
Messages
2 116 318
Membres
112 716
dernier inscrit
jean1234