Erreur « GetCustomUI failed » dans Excel : identifier et supprimer le complément fautif sans perdre la mise en forme conditionnelle

Quand Excel affiche systématiquement l’alerte :
« The call to GetCustomUI for RibbonID « Microsoft.Excel.Workbook » failed »
, le problème provient presque toujours d’un complément (Add‑in) qui tente d’injecter un ruban personnalisé (CustomUI) incompatible avec votre version d’Office. Cet article détaille les causes, propose une méthodologie de diagnostic étape par étape et répond aux questions les plus fréquentes, notamment sur l’impact potentiel pour la mise en forme conditionnelle.

Sommaire

Pourquoi cette erreur apparaît‑elle ?

Le ruban (Ribbon) d’Excel est extensible : un complément peut déclarer du XML CustomUI décrivant de nouveaux onglets, groupes ou boutons. Lorsque, pour une raison quelconque, Excel ne parvient pas à interpréter ce XML (éléments introuvables, ID obsolètes, schéma incorrect, bibliothèque COM manquante, signature numérique rompue, etc.), il déclenche l’exception GetCustomUI failed au chargement du classeur – même si celui‑ci est vierge. Le point clé : l’erreur se produit avant qu’un fichier soit ouvert ; elle n’est donc pas liée à un classeur précis mais au processus d’initialisation d’Excel.

Diagnostic éclair : le test du mode sans échec

Lancez Win + R puis tapez excel /safe. Dans ce mode, Excel ignore la quasi‑totalité des compléments (COM, Excel, XLL, VBA ou Automatisation) et ne charge qu’un sous‑ensemble minimal de pilotes d’interface. Si le message d’erreur n’apparaît plus, vous venez de prouver que la cause est externe au cœur d’Excel : un add‑in.

Méthode d’investigation pas à pas

ÉtapeAction détailléeRésultat attendu
1 – InventaireOuvrez Fichier → Options → Compléments. En bas, déroulez Gérer : Compléments COM puis cliquez sur Atteindre…. Répétez la manœuvre pour :
  • Compléments Excel
  • Compléments Automatisation
  • Compléments VBA
Notez soigneusement les noms, emplacements et éditeurs.
Vous disposez d’un instantané complet de tout ce qu’Excel charge automatiquement.
2 – Désactivation sélectiveDécochez un seul complément, fermez Excel, relancez‑le. L’erreur disparaît‑elle ? Si oui, le dernier complément désactivé est incriminé ; sinon, réactivez‑le et poursuivez l’investigation sur le suivant.Permet d’isoler le facteur déclenchant sans perturber le reste de l’environnement.
3 – ValidationLorsque vous pensez avoir trouvé le fautif, réactivez tous les autres compléments sauf lui. Démarrez Excel normalement : l’erreur ne doit plus réapparaître.Double confirmation qu’un seul composant est responsable (évite les faux positifs liés aux combinaisons).
4 – RemédiationTrois options :
• Désinstaller complètement l’add‑in via Applications & Fonctionnalités ou le programme « Uninstall » de l’éditeur.
• Mettre à jour vers une version certifiée pour la build actuelle d’Office.
• Réparer : certains add‑ins Office possèdent un bouton « Repair » dans le panneau Programmes et fonctionnalités.
Le complément ne se recharge plus ou se recharge sans générer l’erreur.
5 – Nettoyage registreSi un add‑in fantôme persiste dans la liste, ouvrez Regedit.exe puis recherchez la clé :
HKCU\Software\Microsoft\Office\Excel\Addins\NomDuComplement
Passez LoadBehavior de 3 (AutoLoad) à 0 ou supprimez la clé.
Excel cesse de tenter le chargement d’un fichier inexistant.
6 – Réparation OfficeDans Panneau de configuration → Programmes, sélectionnez Microsoft 365, cliquez Modifier, choisissez :
• Réparation rapide (5 mn)
puis, si besoin,
• Réparation en ligne (15‑20 mn)
Cela répare les DLL partagées, réinitialise les dépendances COM et remet à zéro les associations de fichiers.
Élimine les corruptions qui pourraient survivre à la suppression des compléments.

FAQ – Vos questions, nos réponses

La mise en forme conditionnelle risque‑t‑elle de disparaître ?

Non. Les règles de mise en forme conditionnelle sont enregistrées dans le classeur (.xlsx, .xlsm, etc.). Elles ne dépendent pas d’un complément COM pour s’exécuter ; elles sont interprétées par le moteur natif d’Excel. Désactiver ou désinstaller un add‑in ne touche donc pas ces règles, ni leur logique, ni leur apparence.

Comment lister rapidement les add‑ins via VBA ?

Sub InventaireComplements()
    Dim ai As COMAddIn
    For Each ai In Application.COMAddIns
        Debug.Print ai.ProgId, ai.Description, ai.Connect
    Next ai
End Sub

L’exécution affiche dans la fenêtre Exécution immédiate le ProgID, la description et l’état de connexion (True/False) de chaque complément. Idéal pour capturer un état des lieux avant/après.

Le message revient après chaque redémarrage : que faire ?

Dans les environnements d’entreprise, il est courant qu’une GPO (Stratégie de groupe) ou un outil de déploiement (SCCM, Intune, Ivanti, etc.) réinstalle silencieusement des compléments obligatoires. Demandez au service IT si un package pousse un add‑in spécifique. La solution : mettre à jour le package ou créer une exception ciblant votre groupe d’utilisateurs.

Et si plusieurs compléments sont en cause ?

Il arrive qu’un second add‑in échoue uniquement lorsque le premier est déjà chargé. La meilleure pratique consiste alors à :

  1. Désactiver tous les add‑ins.
  2. Réactiver les add‑ins un par un en testant à chaque fois.
  3. Documenter la configuration qui déclenche l’erreur (combinaison d’add‑ins).
  4. Mettre à jour ou retirer les add‑ins incriminés.

Cas d’école : complément Outlook Data Collection

Un cas fréquemment rapporté concerne Microsoft Outlook Add‑in for Data Collection and Publishing. Conçu à l’origine pour Office 2007, son XML CustomUI référence des attributs supprimés depuis Office 2016. Résultat : après une mise à jour vers Microsoft 365, Excel lève l’exception GetCustomUI failed. La désactivation ou la mise à jour vers la version 64‑bit corrige immédiatement le problème.

Comprendre le mécanisme CustomUI

Le ruban Office est décrit par un schéma XML (customUI14.xsd pour les versions modernes). Lorsqu’un complément COM déclare un ruban, il expose une interface IRibbonExtensibility. L’appel :

GetCustomUI("Microsoft.Excel.Workbook")

demande au complément le XML correspondant au contexte « classeur ». Si la méthode renvoie NULL, renvoie du XML invalide, ou si la DLL elle‑même ne peut pas être chargée, Excel génère l’erreur que vous voyez. Les causes courantes :

  • DLL signée mais certificat expiré ;
  • DLL 32‑bit tentant de se charger dans Office 64‑bit ;
  • Fonctions manquantes après mise à jour de l’API Office ;
  • Conflit de versions entre plusieurs add‑ins partageant le même ProgID.

Scripts avancés de remédiation

Pour les administrateurs qui gèrent des centaines de postes, automatiser le nettoyage peut faire gagner un temps précieux. Exemple de script PowerShell (extrait simplifié) :

$key = "HKCU:\Software\Microsoft\Office\Excel\Addins"
Get-ChildItem $key | ForEach-Object {
    $load = (Get-ItemProperty $_.PSPath).LoadBehavior
    if ($load -eq 3) {
        Set-ItemProperty $_.PSPath -Name LoadBehavior -Value 0
        Write-Host "Désactivation : $($_.PSChildName)"
    }
}

Le script parcourt toutes les sous‑clés d’add‑ins et bascule LoadBehavior de 3 à 0, empêchant Excel de les lancer automatiquement. Idéal dans une phase de stabilisation avant de déployer des versions corrigées.

Bonnes pratiques pour éviter le retour de l’erreur

  • Valider la compatibilité : avant d’approuver un complément, testez‑le sur la build exacte d’Office (numéro de version + canal de mise à jour).
  • Centraliser les mises à jour : préférez un référentiel interne (sharepoint, Intune) plutôt que des installations manuelles disséminées.
  • Signer numériquement les DLL et macros – Excel refusera plus volontiers un binaire altéré qu’un binaire simplement obsolète.
  • Documenter la liste cible des add‑ins par profil utilisateur ; cela facilite la détection d’intrus.
  • Surveiller les journaux : l’Observateur d’événements (Applications & Services Logs → Microsoft Office Alerts) enregistre les erreurs COM et CustomUI.

Glossaire rapide

TermeDéfinition
COM Add‑inExtension d’Office implémentée sous forme de DLL COM, inscrite dans le registre Windows.
CustomUISection XML décrivant la personnalisation du ruban (onglets, groupes, boutons).
ProgIDIdentifiant lisible d’un serveur COM, p. ex. MyCompany.ExcelAddin.
IRibbonExtensibilityInterface COM qu’un add‑in implémente pour fournir son XML de ruban.
LoadBehaviorDword du registre contrôlant la stratégie de chargement : 0 = désactivé, 3 = chargement automatique.

Résumé pour décideurs

• L’erreur GetCustomUI failed est presque toujours liée à un add‑in corrompu ou obsolète.
* Vérifier en mode sans échec confirme immédiatement la piste complément.
* La désactivation sélective (ou la mise à jour) règle 9 cas sur 10.
* La mise en forme conditionnelle de vos classeurs n’est pas impactée.
* En environnement d’entreprise, coordonnez‑vous avec l’IT pour corriger les packages GPO ou Intune.

Scénarios d’erreurs similaires et comment les distinguer

Il existe d’autres messages de démarrage pouvant semer la confusion :

« stdole32.tlb manquant »

Souvent provoqué par une corruption de la bibliothèque OLE. La réparation Office suffit la plupart du temps ; très différent de GetCustomUI failed car le fichier cible est une dépendance d’Office, non un add‑in.

« Impossible d’enregistrer novaPDF… »

Lié à des add‑ins d’imprimante virtuelle (PDFCreator, Foxit, etc.). Là encore, un test excel /safe permet de confirmer l’incrimination du composant d’impression.

Étude de cas : déploiement global chez un éditeur comptable

Une PME de 180 postes migre d’Office 2016 vers Microsoft 365. Rapidement, 30 % des utilisateurs signalent l’erreur GetCustomUI failed. Analyse :

  1. L’add‑in « ComptaXLS » repose sur un XML customUI.xml utilisant l’attribut onLoad désormais obsolète.
  2. Le composant n’est pas signé ; Windows SmartScreen bloque parfois la DLL.
  3. Le package Intune forçait la version 1.3 obsolète, alors que la 1.8 corrige le XML.

Action : packaging de la v1.8 signée, distribution ciblée sur le canal Pre‑Release, bascule à 100 % après 48 h sans incident. Taux d’erreur post‑migration : 0 %.

Checklist pour vos prochaines mises à jour

  • ☐ Sauvegarder la liste des add‑ins avant mise à jour Office.
  • ☐ Vérifier la signature numérique et la date d’expiration des certificats.
  • ☐ Contrôler la compatibilité bitness (32‑bit vs 64‑bit).
  • ☐ Tester le chargement du ruban (XML validation).
  • ☐ Mettre à jour la documentation utilisateur.
  • ☐ Prévoir un plan de rollback en cas de régression.

En appliquant ces bonnes pratiques, vous éviterez non seulement l’erreur GetCustomUI failed mais également toute une série de dysfonctionnements liés à l’écosystème des compléments Excel.

Dernière mise à jour de l’article : septembre 2025.

Sommaire