Qu'est-ce que la fonction VALEURCUBE ?
La fonction VALEURCUBE (CUBEVALUE en anglais) te permet de récupérer une valeur agrégée directement depuis un cube OLAP (Online Analytical Processing) dans Excel. C'est l'outil indispensable des analystes BI qui veulent construire des tableaux de bord dynamiques connectés à des sources multidimensionnelles comme SQL Server Analysis Services ou Power BI.
Concrètement, elle te permet d'extraire des KPIs en une seule formule, de croiser plusieurs dimensions (produit, région, période), et de créer des rapports interactifs que tes collègues pilotent via de simples listes déroulantes, sans passer par les tableaux croisés dynamiques classiques.
Syntaxe
=VALEURCUBE(connexion; expression_membre; [expression_membre2]; ...)Clique sur un argument pour aller à son explication.
VALEURCUBE nécessite Excel 2007 ou ultérieur avec une connexion à un cube OLAP préalablement configurée dans le classeur via Données > Obtenir des données > À partir d'Analysis Services. La fonction n'est pas disponible dans Google Sheets.

Comprendre chaque paramètre de la fonction VALEURCUBE
L'ordre compte : tu nommes d'abord la connexion au cube, puis l'expression membre qui dit quoi extraire, et c'est seulement à partir de la troisième position que tu peux empiler des dimensions facultatives. Seuls les deux premiers arguments sont obligatoires ; tout le reste sert à affiner le croisement, jusqu'à 127 expressions si ton analyse l'exige.
connexion
: le nom de la connexion au cube OLAP, sous forme de texte entre guillemetsCette connexion doit avoir été préalablement configurée dans le classeur Excel.
Exemples valides : "Ventes", "CubeFinance". Si le nom est incorrect ou que la connexion n'existe plus, Excel retourne l'erreur #CONNEXION.
expression_membre
: une expression MDX (Multidimensional Expressions) qui identifie le membre du cube à extraireIl s'agit généralement d'une mesure ou d'un membre de dimension formaté selon la syntaxe MDX : [Dimension].[Hiérarchie].[Membre].
Exemples valides : "[Measures].[Montant Total]" (une mesure), "[Temps].[Année].[2024]" (un membre temporel), "[Région].[Pays].[France]" (un membre géographique). Tu peux aussi passer le résultat de MEMBRECUBE comme expression dynamique.
expression_membre2, ...
: tu peux ajouter jusqu'à 127 expressions membres supplémentaires pour croiser plusieurs dimensions(facultatif)Chaque expression filtre une dimension différente pour obtenir une valeur précise au croisement de toutes ces dimensions.
Exemple : =VALEURCUBE("Ventes";"[Measures].[CA]";"[Temps].[2024]";"[Région].[Paris]") retourne le CA de Paris pour l'année 2024 en croisant la dimension Temps et la dimension Région.

Exemples pratiques pas à pas
Comment lire le total d'une mesure avec la fonction VALEURCUBE
Tes ventes sont chargées dans le modèle de données du classeur, où une mesure Total CA a été définie une fois pour toutes. Tu prépares une note de synthèse qui doit annoncer le chiffre d'affaires global, et tu veux ce nombre dans une cellule fixe, à un endroit précis de ta page. La fonction VALEURCUBE va chercher la valeur agrégée directement dans le modèle.
- 1Dans une cellule, écris
=VALEURCUBE(. - 2En 1er argument : saisis le nom de la connexion entre guillemets,
"ThisWorkbookDataModel". C'est le nom réservé du modèle de données interne au classeur, qui existe dès que tu y ajoutes une table, sans aucune source externe à configurer. - 3En 2ᵉ argument : saisis l'expression du membre à évaluer,
"[Measures].[Total CA]".[Measures]est la famille où le modèle range toutes ses mesures, etTotal CAest le nom exact de celle qui somme la colonneCA. - 4Ferme la parenthèse et appuie sur Entrée sans ajouter d'autre expression. Sans dimension pour la restreindre, la fonction évalue la mesure sur la totalité du modèle, ce qui donne le total général plutôt qu'un sous-total.
=VALEURCUBE("ThisWorkbookDataModel"; "[Measures].[Total CA]")14000, la somme des quinze ventes chargées. Le calcul se fait côté modèle, donc la formule tient dans une seule cellule que tu poses où tu veux dans ta mise en page, sans tableau croisé à reformater.Comment croiser une mesure avec un membre de dimension avec la fonction VALEURCUBE
Le total global ne dit pas d'où vient le chiffre d'affaires. Un point produit approche et tu dois annoncer ce que pèse le clavier, toutes régions confondues, sans trier ni filtrer la table à la main. La fonction VALEURCUBE accepte de restreindre la mesure à un membre précis d'une dimension.
- 1Dans une cellule, écris
=VALEURCUBE(. - 2En 1er argument : saisis le nom de la connexion entre guillemets,
"ThisWorkbookDataModel". C'est toujours le modèle interne du classeur. - 3En 2ᵉ argument : saisis la mesure à évaluer,
"[Measures].[Total CA]". C'est le même total qu'à l'exemple précédent, que le troisième argument va cette fois restreindre. - 4En 3ᵉ argument : saisis le filtre sur la dimension produit,
"[Ventes].[Produit].[Clavier]". Il se lit de gauche à droite, où[Ventes]est la table du modèle,[Produit]la colonne devenue dimension et[Clavier]le membre visé. Respecte son orthographe au caractère près, accents compris, car un membre introuvable ne déclenche aucun avertissement et renvoie simplement#N/A. - 5Ferme la parenthèse et appuie sur Entrée.
=VALEURCUBE("ThisWorkbookDataModel"; "[Measures].[Total CA]"; "[Ventes].[Produit].[Clavier]")4000, la somme des cinq lignes de claviers, toutes zones confondues. Le regroupement est fait par le modèle, donc le résultat ne dépend ni de l'ordre des lignes ni d'un filtre posé sur la feuille.Comment croiser deux dimensions à la fois avec la fonction VALEURCUBE
Le clavier pèse 4000 au total, mais la question posée en réunion porte sur le Nord seul, parce que c'est ce secteur qui recrute. Tu as besoin du croisement exact entre un produit et une région, sans construire un tableau croisé pour une seule valeur. La fonction VALEURCUBE empile autant de dimensions que nécessaire dans la même formule.
- 1Dans une cellule, écris
=VALEURCUBE(. - 2En 1er argument : saisis le nom de la connexion entre guillemets,
"ThisWorkbookDataModel". C'est le même modèle interne que dans les exemples précédents. - 3En 2ᵉ argument : saisis la mesure à évaluer,
"[Measures].[Total CA]". - 4En 3ᵉ argument : saisis le premier filtre,
"[Ventes].[Produit].[Clavier]", qui restreint la mesure au clavier. - 5En 4ᵉ argument : saisis le second filtre,
"[Ventes].[Zone].[Nord]", qui porte cette fois sur la région. Les deux filtres visent des dimensions différentes et se combinent, ce qui isole le croisement. Deux expressions sur la même dimension ne s'additionneraient pas. - 6Ferme la parenthèse et appuie sur Entrée.
=VALEURCUBE("ThisWorkbookDataModel"; "[Measures].[Total CA]"; "[Ventes].[Produit].[Clavier]"; "[Ventes].[Zone].[Nord]")1200, la seule vente qui satisfait les deux conditions en même temps. Le principe se prolonge autant que ton analyse l'exige (un argument de plus égale un filtre de plus).
Astuces avancées avec VALEURCUBE
Construire un rapport dynamique avec MEMBRECUBE
La vraie puissance de VALEURCUBE s'exprime quand tu la combines avec MEMBRECUBE. MEMBRECUBE retourne un membre du cube basé sur une expression MDX construite dynamiquement, et VALEURCUBE utilise ce membre comme argument.
Si B1 contient "Paris", la formule =VALEURCUBE("Ventes";"[Measures].[CA]";MEMBRECUBE("Ventes";"[Région].[Pays].[France].[Ville].["&B1&"]")) retourne automatiquement le CA de la ville saisie en B1. Ajoute une liste déroulante et ton rapport s'actualise en un clic.
Calculer des indicateurs dérivés
VALEURCUBE retourne des nombres, donc tu peux les combiner dans des calculs Excel classiques. Pour calculer un taux de croissance entre deux périodes, tu divises deux VALEURCUBE : =(VALEURCUBE("Ventes";"[Measures].[CA]";"[Temps].[2024]")-VALEURCUBE("Ventes";"[Measures].[CA]";"[Temps].[2023]"))/VALEURCUBE("Ventes";"[Measures].[CA]";"[Temps].[2023]").
Mixe ainsi des données cube avec des formules Excel standards pour des tableaux de bord riches sans quitter le classeur.
Optimiser l'actualisation sur un grand classeur
Si ton classeur contient des centaines de formules VALEURCUBE, l'actualisation peut prendre plusieurs minutes car Excel interroge le serveur OLAP pour chaque formule. Pour les analyses volumineuses, active l'actualisation en arrière-plan dans les propriétés de connexion.
Tu peux aussi désactiver temporairement le calcul automatique (Formules > Options de calcul > Manuel), faire toutes tes modifications, puis forcer un recalcul unique avec F9. Cela évite les requêtes répétées au cube à chaque saisie.

Les erreurs fréquentes avec la fonction VALEURCUBE
Avec les fonctions cube, le coupable est presque toujours en amont de la formule. Tu verras d'abord #CONNEXION si le nom de connexion ne correspond pas au caractère près à celui déclaré dans le classeur (la casse compte) ou si le serveur OLAP ne répond plus. Viennent ensuite #NOM?, signe que ta version d'Excel ne gère pas les fonctions cube ou que tu as ouvert le fichier dans Google Sheets, et #VALEUR! quand ta syntaxe MDX a oublié un crochet ou vise un membre qui n'existe pas.
Erreur #CONNEXION : Excel ne trouve pas le cube
Cette erreur signifie qu'Excel ne peut pas se connecter au cube OLAP. Les causes les plus fréquentes : le nom de connexion dans la formule ne correspond pas exactement au nom déclaré dans le classeur, le serveur OLAP est hors ligne, ou tes droits d'accès ont été révoqués.
Solution : Va dans Données > Connexions, vérifie le nom exact de la connexion et actualise-la. Assure-toi que le nom dans la formule est identique (sensible à la casse). Si le serveur est accessible mais la connexion expire, configure l'actualisation automatique dans les propriétés de la connexion.
Erreur #NOM? : la fonction n'est pas reconnue
Excel ne reconnaît pas VALEURCUBE. Cela arrive si ton installation Excel ne supporte pas les fonctions cube (versions très anciennes) ou si tu ouvres le fichier dans Google Sheets.
Solution : Vérifie que tu utilises Excel 2007 ou ultérieur. Les fonctions cube nécessitent une licence incluant Analysis Services. Google Sheets ne supporte pas les fonctions cube, elles sont exclusives à Excel.
Erreur #VALEUR! ou résultat inattendu : syntaxe MDX incorrecte
L'expression MDX est mal formatée ou référence un membre qui n'existe pas dans le cube. La syntaxe MDX est stricte sur les crochets, les points et les guillemets.
Solution : Vérifie que chaque dimension est encadrée de crochets : "[Measures].[Montant]" et non "Measures.Montant". Utilise le navigateur OLAP (dans l'assistant cube) pour copier-coller les noms MDX exacts plutôt que de les taper manuellement.
Questions fréquentes
MEMBRECUBE identifie et retourne un membre ou un tuple spécifique du cube OLAP, tandis que VALEURCUBE récupère la valeur agrégée associée à ce membre. En pratique, MEMBRECUBE sélectionne « quoi » et VALEURCUBE retourne « combien ». Tu peux utiliser VALEURCUBE seul en saisissant directement les expressions MDX entre guillemets, ou combiner les deux pour des formules dynamiques où les dimensions changent selon des listes déroulantes.
Cette erreur signifie qu'Excel ne peut pas se connecter au cube OLAP. Vérifie que la connexion au serveur OLAP est active, que le nom de connexion dans la formule correspond exactement au nom déclaré dans le classeur, et que tu as les droits d'accès au cube. Va dans Données > Connexions, sélectionne la connexion et clique sur Actualiser pour tester la connexion manuellement.
Ajoute simplement plusieurs arguments expression_membre après le premier. Chaque argument filtre une dimension différente. Par exemple, =VALEURCUBE("Ventes";"[Measures].[CA]";"[Temps].[2024]";"[Région].[Paris]") croise la dimension Temps et la dimension Région pour obtenir le CA de Paris en 2024.
Tu peux ajouter jusqu'à 127 expressions membres pour des croisements très précis.
Oui, tu peux utiliser VALEURCUBE en saisissant directement les expressions MDX entre guillemets. Cependant, combiner avec MEMBRECUBE rend tes formules dynamiques et facilite la création de tableaux croisés où les dimensions changent selon des cellules de référence. Pour des rapports fixes (même dimensions à chaque actualisation), la syntaxe directe avec des guillemets suffit et est plus lisible.
Les fonctions cube se rafraîchissent automatiquement lors de l'actualisation de la connexion. Va dans Données > Actualiser tout, ou configure l'actualisation automatique dans les propriétés de la connexion pour une mise à jour à l'ouverture du fichier ou à intervalle régulier.
Tu peux aussi appuyer sur Ctrl+Alt+F5 pour actualiser toutes les connexions du classeur en une fois.
Pour aller plus loin
Continue sur ta lancée après la fonction VALEURCUBE : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.
Tout voir



