🧭 Quelle balise XML utiliser dans Custom UI Editor : 2006/01 ou 2009/07 ?

Il existe deux versions principales du schéma XML dans Custom UI Editor pour Excel :

  • l’ancienne version 2006/01

  • et la nouvelle version 2009/07 appelée aussi "Custom UI 14".

Voici un article clair qui explique les deux balises, leur différence, et dans quel cas les utiliser.


🧭 Quelle balise XML utiliser dans Custom UI Editor : 2006/01 ou 2009/07 ?

🎯 Objectif : Créer un ruban personnalisé pour Excel avec Custom UI Editor

Mais... il existe deux types de déclarations à mettre tout en haut de ton code XML :


1️⃣ Ancienne version (pour compatibilité maximale) :

xml

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">

📌 Utilisation :

  • Compatible avec Excel 2007, 2010, 2013, 2016...

  • Fonctionne avec les fonctions de base :

    • Ajout d'onglets

    • Boutons simples

    • Liaison à des macros avec onAction

    • Icônes imageMso

  • Ne supporte pas les fonctionnalités avancées comme :

    • getLabel

    • getVisible

    • getEnabled

    • getImage personnalisée

✅ Avantage : Compatibilité maximale

❌ Limitation : Pas de ruban dynamique ou intelligent


2️⃣ Nouvelle version (Custom UI 14) :

xml

<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">

📌 Utilisation :

  • Nécessite Excel 2010 ou plus récent

  • Permet des rubans dynamiques avec du code VBA interactif :

    • getLabel : pour afficher un texte qui change selon la situation

    • getVisible / getEnabled : pour masquer/désactiver certains boutons

    • getImage : pour utiliser tes propres icônes

    • callback : pour des comportements avancés

✅ Avantage : Très puissant et flexible

❌ Limitation : Moins compatible avec les versions plus anciennes (notamment Excel 2007)


🧪 Exemples pratiques :

💡 Version simple (2006/01)

xml

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"> <ribbon> <tabs> <tab id="myTab" label="Mon Onglet"> <group id="myGroup" label="Mes Actions"> <button id="btn1" label="Démarrer" imageMso="HappyFace" onAction="Macro1" /> </group> </tab> </tabs> </ribbon> </customUI>

💡 Version dynamique (2009/07)

xml

<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui"> <ribbon> <tabs> <tab id="myTab" label="Outils Dynamiques" getVisible="AfficherOnglet"> <group id="grp1" label="Boutons Dynamiques"> <button id="btn" label="..." getLabel="ChangerLabel" onAction="ActionMacro" /> </group> </tab> </tabs> </ribbon> </customUI>

Et dans le module VBA :

vba
Public Function ChangerLabel(control As IRibbonControl) As String ChangerLabel = "Cliquer ici" End Function Public Function AfficherOnglet(control As IRibbonControl) As Boolean AfficherOnglet = True End Function

📝 En résumé :

VersionBalise XMLPour Excel...Fonctions dynamiques ?Recommandée si...
2006/01<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">2007+Tu veux un ruban simple et compatible
2009/07<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">2010+Tu veux des boutons intelligents, visibles dynamiquement

🧰 Conseil pratique :

🔧 Teste d’abord la version 2006/01 si tu veux juste créer un ruban statique.
⚙️ Passe à la version 2009/07 si tu veux des rubans intelligents et interactifs.

Commentaires

Posts les plus consultés de ce blog

🛠 Utilisation de CustomUIEditor pour Personnaliser le Ruban Excel

🗓️ Simulateur de Congés et Calendrier Collaboratif sous Google Sheets

Explication VBA : Facturation automatique Gestion client