JEUCUBE (CUBESET en anglais) définit un ensemble de membres ou de tuples à partir d'un cube OLAP connecté à Excel. Elle est la clé de voûte de l'analyse multidimensionnelle directement dans une feuille de calcul : extraction de catégories de produits, sélection dynamique de dimensions, classements Top N, filtrage conditionnel par mesure.
Si tu travailles avec Analysis Services, Power BI ou tout autre source OLAP, JEUCUBE est l'outil qui te permet de piloter finement quels membres tu veux analyser, puis de les passer aux autres fonctions cube (VALEURCUBE, ELEMENTJEUCUBE, NOMBREELEMENTSCUBE) pour construire des rapports BI entièrement dynamiques sans sortir d'Excel.
Syntaxe de la fonction JEUCUBE
=JEUCUBE(connexion; set_expression; [légende]; [tri_ordre]; [tri_par])JEUCUBE ne retourne pas directement les données dans les cellules adjacentes : elle stocke l'ensemble dans une cellule. Pour lire ses éléments, utilise ELEMENTJEUCUBE ; pour en compter le nombre, NOMBREELEMENTSCUBE ; pour en agréger les valeurs, VALEURCUBE.
Comprendre chaque paramètre de la fonction JEUCUBE
connexion
: le nom exact de la connexion à ton cube OLAP, tel qu'il est défini dans l'onglet Données → Connexions de ton classeurCe paramètre est sensible à la casse et doit correspondre mot pour mot.
Exemples valides : "VentesCube", "FinanceOLAP". Retrouve le nom exact dans le gestionnaire de connexions avant de l'écrire dans ta formule.
Astuce : Vérifie tes connexions dans Données → Connexions (Excel) ou via l'onglet Power Pivot pour obtenir le nom exact. Une seule lettre incorrecte donne une erreur #NOM?.
set_expression
: une expression MDX (Multidimensional Expressions) qui définit l'ensemble de membres à récupérerMDX est le langage de requête des cubes OLAP, similaire au SQL pour les bases relationnelles.
Exemples courants : "[Produit].[Catégorie].Members" (tous les membres d'une hiérarchie), "[Compte].[Type].&[Revenu].Children" (les enfants d'un membre), "Filter([Région].[Pays].Members, [Measures].[CA] > 100000)" (filtrage conditionnel).
Attention : Les noms de dimensions et hiérarchies sont sensibles à la casse et doivent correspondre exactement à la structure du cube. Teste ton expression MDX dans SQL Server Management Studio ou un outil OLAP avant de la coller dans Excel.
[légende]
: le texte descriptif qui s'affiche dans la cellule contenant le jeu(facultatif)Comme un jeu cube n'affiche pas directement ses membres dans la cellule, la légende sert d'étiquette lisible pour identifier le contenu.
Exemples : "Toutes catégories", "Top 10 clients", "Zones performantes". Si tu omets ce paramètre, Excel affiche un texte générique.
[tri_ordre]
: définit l'ordre de tri des membres dans le jeu(facultatif)Les valeurs possibles sont : 0 (aucun tri, ordre naturel du cube), 1 (croissant par légende, A→Z), 2 (décroissant par légende, Z→A), 3 (croissant par valeur mesurée), 4 (décroissant par valeur mesurée, pour les Top N).
Les tris par valeur (3 ou 4) nécessitent que l'expression MDX inclue une mesure, sinon Excel retourne une erreur.
Astuce : Pour créer un classement Top N, combine tri_ordre = 4 (décroissant par valeur) avec le paramètre tri_par pour limiter le nombre d'éléments retournés.
[tri_par]
: limite le nombre maximal d'éléments retournés dans le jeu(facultatif)En combinaison avec tri_ordre, ce paramètre crée des classements Top N ou Bottom N.
Par exemple, tri_ordre = 4; tri_par = 10 retourne les 10 membres ayant les valeurs les plus élevées. Change tri_par en référence de cellule pour rendre le nombre configurable par l'utilisateur.
Astuce : Stocker tri_par dans une cellule nommée (par exemple TopN) te permet de rendre ton rapport paramétrable : l'utilisateur change le nombre dans une seule cellule, tous les jeux JEUCUBE se mettent à jour automatiquement.
Exemples pratiques pas à pas
Analyste BI : extraire toutes les catégories de produits
Tu es analyste BI et tu dois alimenter un rapport dynamique avec la liste à jour des catégories de produits. Plutôt que de maintenir manuellement une liste figée qui devient obsolète dès qu'une catégorie est ajoutée ou renommée dans le cube, tu utilises JEUCUBE pour la récupérer automatiquement.
| A | B | |
|---|---|---|
| 1 | Dimension | Résultat affiché |
| 2 | Catégories Produits | Toutes catégories |
=JEUCUBE("VentesCube"; "[Produit].[Catégorie].Members"; "Toutes catégories"; 1)La fonction crée un jeu ordonné alphabétiquement (tri_ordre = 1) de tous les membres de la hiérarchie Catégorie du cube VentesCube. Tu passes ensuite ce jeu à ELEMENTJEUCUBE pour afficher chaque catégorie dans une cellule séparée, ou à NOMBREELEMENTSCUBE pour en connaître le nombre total.
Astuce de pro : Nomme la cellule contenant ce JEUCUBE (par exemple JeuCategories) via Formules → Définir un nom. Tes formules ELEMENTJEUCUBE et VALEURCUBE deviennent alors =ELEMENTJEUCUBE(JeuCategories; 1) au lieu de répéter toute l'expression, ce qui rend le fichier beaucoup plus maintenable.
Contrôleur de gestion : créer un Top 10 des comptes de revenus
Tu dois présenter chaque mois les 10 comptes de revenus les plus importants. Plutôt que de trier manuellement et de copier-coller, JEUCUBE construit ce classement automatiquement depuis le cube.
| A | B | |
|---|---|---|
| 1 | Type compte | Jeu créé |
| 2 | Revenus | Top 10 Comptes |
=JEUCUBE("ComptaCube"; "[Compte].[Type].&[Revenu].Children"; "Top 10 Comptes"; 4; 10)tri_ordre = 4 trie par valeur décroissante (du plus grand au plus petit), et tri_par = 10 limite à 10 éléments. La combinaison des deux crée le Top 10 sans aucune manipulation. Pour rendre le N configurable, remplace 10 par une référence de cellule comme $F$1 : l'utilisateur change la valeur et le jeu se met à jour automatiquement.
Data analyst : filtrer les régions selon une performance seuil
Tu dois identifier les régions dont le chiffre d'affaires dépasse 100 000 € pour concentrer les efforts commerciaux. La fonction MDX Filter intégrée dans l'expression te permet de créer un ensemble conditionnel directement dans la formule.
| A | B | |
|---|---|---|
| 1 | Analyse | Régions sélectionnées |
| 2 | CA > 100 000 € | Zones performantes |
=JEUCUBE("GeoCube"; "Filter([Région].[Pays].Members, [Measures].[CA] > 100000)"; "Zones performantes")Ici, la fonction MDX Filter ne retient que les membres dont la mesure [Measures].[CA] dépasse 100 000, et JEUCUBE renvoie ce sous-ensemble sous l'étiquette « Zones performantes ».
Développeur BI : créer un ensemble temporel dynamique
Tu construis un rapport paramétrable sur les trimestres de l'année courante. La légende intègre ANNEE(AUJOURDHUI()) pour s'afficher avec l'année en cours, rendant la cellule lisible et toujours à jour.
| A | B | |
|---|---|---|
| 1 | Période | Ensemble créé |
| 2 | Trimestres | Q1-Q4 2025 |
=JEUCUBE("TempsCube"; "[Date].[Trimestre].Members"; "Q1-Q4 "&ANNEE(AUJOURDHUI()); 1)La fonction récupère tous les trimestres de la dimension Date et les trie par ordre croissant (tri_ordre = 1). La légende intègre ANNEE(AUJOURDHUI()), si bien que la cellule affiche toujours l'année en cours.
Envie de t'entraîner sur de vrais exercices Excel ?
M'entraînerLes erreurs fréquentes avec la fonction JEUCUBE
Erreur #NOM? - Connexion cube non trouvée
Excel ne trouve pas la connexion spécifiée dans le paramètre connexion. Le nom est mal orthographié, une majuscule manque, ou la connexion a été supprimée du classeur.
Solution : Ouvre Données → Connexions et copie-colle le nom exact dans ta formule. Le paramètre est sensible à la casse : "VentesCube" et "ventescube" sont différents.
Erreur #VALEUR! - Expression MDX invalide
L'expression MDX contient une erreur de syntaxe ou référence des dimensions ou membres qui n'existent pas dans le cube. Les noms de dimensions doivent être entre crochets [] et la casse doit correspondre.
Solution : Teste ton expression MDX dans un outil dédié (SQL Server Management Studio, MDX Studio) avant de la coller dans Excel. Vérifie que chaque [Dimension].[Hiérarchie] correspond exactement à la structure du cube.
Tri par valeur sans mesure (résultat incorrect ou erreur)
Tu as spécifié tri_ordre = 3 ou 4 (tri par valeur) mais ton expression MDX ne contient pas de mesure. Excel ne sait pas quelle valeur utiliser pour ordonner les membres.
Solution : Inclus une mesure dans ton expression : "([Produit].Members, [Measures].[CA])". Ou change pour un tri par légende (tri_ordre = 1 ou 2) si tu n'as pas besoin de trier par valeur numérique.
Performances lentes avec un jeu très volumineux
JEUCUBE récupère des milliers de membres depuis le serveur OLAP, ce qui ralentit le calcul et l'actualisation du classeur, surtout quand plusieurs formules référencent le même jeu.
Solution : Utilise tri_par pour limiter le nombre d'éléments retournés. Filtre ton jeu en MDX avec la fonction Filter pour ne récupérer que les membres pertinents. Active le calcul manuel (Formules → Options de calcul → Manuel) pour les classeurs avec beaucoup de fonctions cube.
Connexion perdue après partage du fichier
La connexion OLAP pointe vers un chemin local ou un serveur inaccessible aux autres utilisateurs. Le fichier fonctionne sur ton poste mais retourne des erreurs chez tes collègues.
Solution : Configure les connexions vers des serveurs réseau accessibles à tous les utilisateurs. Utilise des chemins UNC (\\serveur\dossier) plutôt que des lettres de lecteur mappées. Documente les prérequis de connexion dans une feuille README du classeur.
JEUCUBE vs MEMBRECUBE vs VALEURCUBE vs ELEMENTJEUCUBE
Ces quatre fonctions se complètent : JEUCUBE définit un ensemble, ELEMENTJEUCUBE en lit les membres un par un, VALEURCUBE en agrège les valeurs, et MEMBRECUBE identifie un membre unique. Dans un rapport OLAP typique, elles s'enchaînent.
| Critère | JEUCUBE | MEMBRECUBE | VALEURCUBE | ELEMENTJEUCUBE |
|---|---|---|---|---|
| Rôle | Définir un ensemble | Identifier un membre unique | Lire une valeur agrégée | Lire un élément du jeu |
| Résultat | Ensemble (Set) | Membre unique | Valeur numérique | Texte (nom du membre) |
| Cas d'usage typique | Sélectionner des dimensions | Filtrer sur un membre précis | Lire un KPI | Afficher la liste des membres |
| Complexité MDX | Moyenne à élevée | Moyenne | Faible | Faible |
| Niveau | Expert | Avancé | Avancé | Intermédiaire |
Questions fréquentes sur la fonction JEUCUBE
Qu'est-ce que la fonction JEUCUBE dans Excel ?
JEUCUBE te permet de définir un ensemble de membres ou de tuples à partir d'un cube OLAP connecté à ton classeur. Elle est fondamentale pour l'analyse multidimensionnelle et la création de rapports BI dynamiques directement dans Excel.
Elle ne retourne pas les données directement dans les cellules adjacentes : elle crée un objet "jeu" dans une cellule, que tu passes ensuite aux fonctions ELEMENTJEUCUBE, NOMBREELEMENTSCUBE ou VALEURCUBE pour lire son contenu.
Quelle différence entre JEUCUBE et les autres fonctions cube ?
JEUCUBE définit un ensemble de membres ou de tuples (c'est la fondation). VALEURCUBE récupère une valeur agrégée unique depuis le cube. MEMBRECUBE identifie un membre spécifique. ELEMENTJEUCUBE lit un membre particulier dans un jeu défini par JEUCUBE.
Dans un rapport typique, tu crées d'abord le jeu avec JEUCUBE, puis tu parcours ses membres avec ELEMENTJEUCUBE et leurs valeurs avec VALEURCUBE.
Comment trier les résultats d'un jeu JEUCUBE ?
Utilise le paramètre tri_ordre : 0 (aucun tri, ordre naturel), 1 (croissant par légende), 2 (décroissant par légende), 3 (croissant par valeur), 4 (décroissant par valeur).
Pour un tri par valeur (3 ou 4), ton expression MDX doit inclure une mesure. Le tri par valeur décroissant (4) combiné avec tri_par = 10 crée directement un classement Top 10.
Peut-on limiter le nombre d'éléments retournés par JEUCUBE ?
Oui, le paramètre tri_par limite le nombre d'éléments dans le jeu. Pour un Top 5, utilise tri_ordre = 4 (décroissant par valeur) et tri_par = 5.
Rendre tri_par dynamique en le liant à une cellule (tri_par = $F$1) permet à l'utilisateur de configurer lui-même le nombre sans toucher à la formule.
Que faire si la connexion OLAP ne fonctionne pas avec JEUCUBE ?
Vérifie dans Données → Connexions que ta connexion est active et que son nom correspond exactement à ce que tu as écrit dans JEUCUBE (sensible à la casse). Une erreur #NOM? indique que la connexion n'est pas trouvée.
Une erreur #VALEUR! signale généralement une expression MDX incorrecte. Teste d'abord ton MDX dans un outil dédié (SSMS, Azure Data Studio) avant de l'insérer dans Excel.
Peut-on combiner plusieurs JEUCUBE dans la même formule ?
Pas directement dans une seule formule JEUCUBE. En revanche, MDX permet de combiner des ensembles via l'opérateur * (produit cartésien) ou + (union) directement dans l'argument set_expression.
Par exemple, "[Produit].[Catégorie].Members * [Région].[Pays].Members" crée un ensemble croisé de toutes les catégories par tous les pays, ce qui permet des analyses matricielles sophistiquées.
Pour aller plus loin
Les fonctions similaires : VALEURCUBE, MEMBRECUBE
Bloqué sur une formule Excel ?
Pose ta question à notre assistant Excel IA, il te sort la bonne formule en quelques secondes.
Essayer l'assistant IAGratuit · 10 questions par mois
