La fonction NBJEUCUBE (CUBESETCOUNT en anglais) retourne le nombre d'éléments dans un jeu OLAP créé par JEUCUBE. Indispensable pour valider la taille d'un ensemble avant traitement ou pour créer des analyses conditionnelles sur des cubes de données.
Si tu travailles avec Analysis Services, Power BI ou tout autre source OLAP, NBJEUCUBE te permet de contrôler la dimension de tes jeux dynamiquement : afficher un titre de rapport adapté ("Analyse de 24 produits"), bloquer un calcul si le jeu est vide, ou détecter des problèmes de connexion avant qu'ils ne se propagent dans tout ton tableau de bord.
Syntaxe de la fonction NBJEUCUBE
=NBJEUCUBE(ensemble)Comprendre chaque paramètre de la fonction NBJEUCUBE
ensemble
: la référence à une cellule contenant un jeu OLAP créé par JEUCUBE ou retourné par une autre fonction cubeCe paramètre est le seul argument de la fonction et doit pointer vers un jeu valide.
Par exemple, si A1 contient =JEUCUBE("Ventes"; "[Produit].[Catégorie].Members"), alors =NBJEUCUBE(A1) retourne le nombre de catégories dans ce jeu.
Astuce : Tu peux référencer n'importe quelle cellule contenant un jeu OLAP, même si ce jeu est le résultat d'une formule complexe. L'important est que la cellule référencée contienne bien un objet jeu OLAP valide.
Attention : Si tu passes une cellule contenant du texte, un nombre ou une formule non-OLAP, NBJEUCUBE retourne #VALEUR!. Vérifie toujours que la cellule source contient bien un jeu créé par JEUCUBE.
Exemples pratiques pas à pas
Analyste commercial : compter les produits dans une catégorie
Tu dois créer un tableau de bord qui affiche le nombre de produits dans chaque catégorie de ton cube OLAP. NBJEUCUBE te permet de compter rapidement les éléments de chaque ensemble pour dimensionner tes analyses.
| A | B | |
|---|---|---|
| 1 | Jeu OLAP (cellule A1) | Nombre de produits |
| 2 | JEUCUBE("Ventes";"[Produit].[Catégorie].Members") | 24 |
| 3 | JEUCUBE("Ventes";"[Region].[Pays].Members") | 12 |
=NBJEUCUBE(A2)La formule compte les éléments du jeu OLAP stocké en A2 (JEUCUBE sur les catégories produits) et retourne 24. La ligne A3 (jeu des pays) retourne 12. Ces valeurs servent à dimensionner les analyses et à générer des titres dynamiques.
Astuce de pro : Nomme la cellule contenant le jeu NBJEUCUBE (par exemple NbCategories) via Formules → Définir un nom. Tes autres formules peuvent alors référencer ce nom plutôt que de recalculer NBJEUCUBE à chaque fois, ce qui améliore les performances.
Contrôleur de gestion : valider la taille avant traitement
Tu dois vérifier qu'un jeu OLAP contient suffisamment d'éléments avant de lancer un calcul coûteux en ressources. Si le jeu est trop petit, l'analyse ne serait pas représentative.
| A | B | C | |
|---|---|---|---|
| 1 | Jeu | Taille | Traitement valide ? |
| 2 | JEUCUBE("Finances";"[Centre].[Tous]") | 150 | Oui |
| 3 | JEUCUBE("Finances";"[Centre].[Test]") | 3 | Non |
=SI(NBJEUCUBE(A2)>=10; "Oui"; "Non")A2 contient le jeu Finances/Centre/Tous avec 150 éléments : la formule retourne « Oui » (150 ≥ 10). A3 contient un jeu de 3 éléments seulement, trop petit pour être représentatif : la formule retourne « Non ».
Analyste BI : créer des titres de rapport dynamiques
Tu veux créer des titres de rapport qui s'adaptent automatiquement au nombre d'éléments analysés. NBJEUCUBE te donne la flexibilité pour rendre tes rapports plus informatifs sans intervention manuelle.
| A | B | C | |
|---|---|---|---|
| 1 | Ensemble OLAP | Nb éléments | Titre du rapport |
| 2 | JEUCUBE("Ventes";"[Client].[Top10]") | 89 | Analyse de 89 clients |
| 3 | JEUCUBE("Ventes";"[Client].[VIP]") | 15 | Analyse de 15 clients |
="Analyse de "&NBJEUCUBE(A2)&" clients"A2 contient le jeu Client/Top10 avec 89 membres : la concaténation produit « Analyse de 89 clients ». A3 contient le jeu Client/VIP avec 15 membres : le titre devient automatiquement « Analyse de 15 clients » sans aucune intervention manuelle.
Data analyst : contrôle qualité des données OLAP
Tu dois vérifier que tous les jeux OLAP de ton tableau de bord retournent bien des données. NBJEUCUBE te permet de créer un système de validation automatique pour détecter les problèmes de connexion ou de requête.
| A | B | C | |
|---|---|---|---|
| 1 | Jeu | Taille | Statut qualité |
| 2 | JEUCUBE("Cube";"[Dim].[Actif]") | 234 | OK |
| 3 | JEUCUBE("Cube";"[Dim].[Erreur]") | 0 | Alerte : jeu vide |
=SI(NBJEUCUBE(A2)>0; "OK"; "Alerte : jeu vide")A2 contient le jeu Cube/Dim/Actif avec 234 éléments : la formule retourne « OK ». A3 contient le jeu Cube/Dim/Erreur avec 0 élément : la formule retourne « Alerte : jeu vide », indiquant un problème de connexion ou une requête MDX incorrecte.
Astuce de pro : Si tu utilises NBJEUCUBE dans plusieurs formules pour le même jeu, calcule-le une seule fois et stocke le résultat dans une cellule séparée. Référence ensuite cette cellule dans les autres formules pour éviter de recalculer la taille à chaque fois.
Envie de t'entraîner sur de vrais exercices Excel ?
M'entraînerLes erreurs fréquentes avec la fonction NBJEUCUBE
Avec NBJEUCUBE, le souci ne vient presque jamais de la fonction elle-même mais de ce que tu lui donnes à compter. Le cas que tu croiseras le plus souvent, c'est le #VALEUR! : tu as pointé une cellule qui contient du texte, un nombre ou une formule classique au lieu d'un vrai jeu créé par JEUCUBE.
Les deux autres pièges sont plus sournois : un 0 qui tombe sans prévenir (jeu vide, cube pas actualisé ou MDX qui filtre tout) et un classeur qui rame dès que tu répètes NBJEUCUBE sur le même jeu, chaque appel relançant une requête vers le cube.
Erreur #VALEUR! : la cellule ne contient pas un jeu OLAP
NBJEUCUBE ne fonctionne qu'avec des jeux OLAP créés par JEUCUBE ou retournés par d'autres fonctions cube. Si tu passes une cellule contenant du texte, un nombre ou une formule standard, tu obtiens #VALEUR!.
Solution : Vérifie que la cellule référencée contient bien un jeu créé par JEUCUBE. Utilise =ESTREF(A1) pour vérifier que la référence est valide, et assure-toi que la formule JEUCUBE dans A1 ne retourne pas elle-même une erreur.
NBJEUCUBE retourne 0 de manière inattendue
Le jeu OLAP ne contient aucun élément, soit parce que la connexion n'a pas de données correspondantes, soit parce que l'expression MDX dans JEUCUBE filtre tous les membres, soit parce que le cube n'est pas actualisé.
Solution : Actualise ta connexion OLAP via Données → Actualiser tout. Vérifie l'expression MDX dans ton JEUCUBE pour t'assurer qu'elle retourne bien des membres. Utilise un outil MDX (SSMS) pour tester l'expression hors d'Excel.
Performances lentes quand NBJEUCUBE est répété sur le même jeu
Chaque appel à NBJEUCUBE déclenche une requête vers le cube OLAP. Si plusieurs formules appellent NBJEUCUBE sur le même jeu, tu multiplies les requêtes inutilement, ce qui ralentit le classeur.
Solution : Calcule NBJEUCUBE une seule fois dans une cellule dédiée (par exemple B1 = =NBJEUCUBE(A1)) et référence B1 dans les autres formules. Active aussi le calcul manuel (Formules → Options de calcul → Manuel) pour les classeurs avec beaucoup de fonctions cube.
NBJEUCUBE vs NB vs JEUCUBE vs VALEURCUBE
Tu prends NBJEUCUBE quand tu veux savoir combien d'éléments contient un jeu OLAP, pas pour compter des cellules d'une feuille : pour ça c'est NB, qui ne sait pas lire un cube. JEUCUBE est l'étape d'avant, celle qui fabrique le jeu à partir d'une expression MDX, et NBJEUCUBE vient ensuite le mesurer.
Dès que tu cherches une valeur agrégée plutôt qu'un décompte (un chiffre d'affaires, un KPI), c'est VALEURCUBE qu'il te faut. En pratique, les trois fonctions cube s'enchaînent : JEUCUBE crée, NBJEUCUBE dimensionne, VALEURCUBE lit.
| Critère | NBJEUCUBE | NB | JEUCUBE | VALEURCUBE |
|---|---|---|---|---|
| Rôle | Compter les éléments d'un jeu OLAP | Compter les cellules numériques | Créer un jeu OLAP | Lire une valeur agrégée du cube |
| Type de données | Jeux OLAP uniquement | Plages Excel classiques | Expressions MDX | Membres et mesures OLAP |
| Résultat | Entier (nombre d'éléments) | Entier (nombre de cellules) | Jeu (objet cube) | Valeur numérique |
| Cas d'usage typique | Valider la taille d'un jeu | Compter dans une plage standard | Définir les dimensions à analyser | Lire un KPI ou une mesure |
Questions fréquentes sur la fonction NBJEUCUBE
NBJEUCUBE fonctionne-t-elle avec tous les jeux OLAP ?
Oui, NBJEUCUBE compte les éléments de n'importe quel jeu créé avec JEUCUBE ou retourné par d'autres fonctions cube. Elle est compatible avec tous les cubes de données connectés à Excel (Analysis Services, Power BI, etc.).
Que se passe-t-il si le jeu est vide ?
Si le jeu ne contient aucun élément, NBJEUCUBE retourne 0. Si la référence est invalide ou ne pointe pas vers un jeu OLAP, elle retourne l'erreur #VALEUR!. C'est pourquoi il est recommandé de toujours valider le résultat avec =SI(NBJEUCUBE(A1)>0; ...; "Pas de données") avant d'utiliser le jeu dans d'autres calculs.
Peut-on utiliser NBJEUCUBE pour valider des données ?
Oui, c'est l'un de ses usages les plus courants. Tu peux combiner NBJEUCUBE avec SI pour créer des validations conditionnelles robustes : =SI(NBJEUCUBE(A1)>=10; VALEURCUBE(...); "Données insuffisantes") évite de lancer un calcul sur un jeu trop petit ou vide.
Quelle est la différence entre NBJEUCUBE et NB ?
NBJEUCUBE est spécialement conçue pour compter les éléments dans un jeu OLAP (cube de données), tandis que NB compte les cellules contenant des nombres dans une plage classique. Tu ne peux pas utiliser NB sur un jeu OLAP, ni NBJEUCUBE sur une plage normale.
Comment optimiser les performances avec NBJEUCUBE ?
Pour optimiser les performances, évite de recalculer NBJEUCUBE plusieurs fois pour le même jeu. Stocke le résultat dans une cellule séparée et référence-la dans tes autres formules. Limite aussi la taille des jeux OLAP en filtrant les données en amont avec JEUCUBE.
Peut-on combiner NBJEUCUBE avec des fonctions conditionnelles ?
Oui, NBJEUCUBE retourne un entier standard que tu peux utiliser dans n'importe quelle formule. =SI(NBJEUCUBE(A1)>0; "Jeu valide"; "Jeu vide"), =SIERREUR(NBJEUCUBE(A1); 0) ou ="Analyse de "&NBJEUCUBE(A1)&" éléments" fonctionnent tous parfaitement.
Pour aller plus loin
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
