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.
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
Étape | Action détaillée | Résultat attendu |
---|---|---|
1 – Inventaire | Ouvrez 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élective | Dé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 – Validation | Lorsque 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édiation | Trois 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 registre | Si 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 Office | Dans 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 à :
- Désactiver tous les add‑ins.
- Réactiver les add‑ins un par un en testant à chaque fois.
- Documenter la configuration qui déclenche l’erreur (combinaison d’add‑ins).
- 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
Terme | Définition |
---|---|
COM Add‑in | Extension d’Office implémentée sous forme de DLL COM, inscrite dans le registre Windows. |
CustomUI | Section XML décrivant la personnalisation du ruban (onglets, groupes, boutons). |
ProgID | Identifiant lisible d’un serveur COM, p. ex. MyCompany.ExcelAddin . |
IRibbonExtensibility | Interface COM qu’un add‑in implémente pour fournir son XML de ruban. |
LoadBehavior | Dword 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 :
- L’add‑in « ComptaXLS » repose sur un XML customUI.xml utilisant l’attribut
onLoad
désormais obsolète. - Le composant n’est pas signé ; Windows SmartScreen bloque parfois la DLL.
- 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.