Aller au contenu principal

Qu'est-ce que la fonction VALEURCUBE ?

Définition
La fonction VALEURCUBE retourne une valeur agrégée depuis un cube OLAP en croisant une ou plusieurs expressions MDX (membres, mesures, dimensions). Elle nécessite au minimum le nom de connexion et une expression membre.

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

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.

Lucas, la mascotte du Dojo, inspecte les arguments de la fonction à la loupe

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.

1

connexion

: le nom de la connexion au cube OLAP, sous forme de texte entre guillemets

Cette 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.

2

expression_membre

: une expression MDX (Multidimensional Expressions) qui identifie le membre du cube à extraire

Il 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.

3

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.

Lucas, la mascotte du Dojo, fait une démonstration pas à pas de la fonction dans Excel

Exemples pratiques pas à pas

Exemple 1

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.

Les étapes
  1. 1
    Dans une cellule, écris =VALEURCUBE(.
  2. 2
    En 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.
  3. 3
    En 2ᵉ argument : saisis l'expression du membre à évaluer, "[Measures].[Total CA]". [Measures] est la famille où le modèle range toutes ses mesures, et Total CA est le nom exact de celle qui somme la colonne CA.
  4. 4
    Ferme 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.
Au final, ta formule devrait ressembler à ça :=VALEURCUBE("ThisWorkbookDataModel"; "[Measures].[Total CA]")
Explication
La fonction interroge le modèle de données et rend 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.
Exemple 2

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.

Les étapes
  1. 1
    Dans une cellule, écris =VALEURCUBE(.
  2. 2
    En 1er argument : saisis le nom de la connexion entre guillemets, "ThisWorkbookDataModel". C'est toujours le modèle interne du classeur.
  3. 3
    En 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.
  4. 4
    En 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.
  5. 5
    Ferme la parenthèse et appuie sur Entrée.
Voici la formule que tu obtiens à la fin :=VALEURCUBE("ThisWorkbookDataModel"; "[Measures].[Total CA]"; "[Ventes].[Produit].[Clavier]")
Explication
La troisième expression restreint la mesure au seul clavier, et la fonction VALEURCUBE rend 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.
Exemple 3

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.

Les étapes
  1. 1
    Dans une cellule, écris =VALEURCUBE(.
  2. 2
    En 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.
  3. 3
    En 2ᵉ argument : saisis la mesure à évaluer, "[Measures].[Total CA]".
  4. 4
    En 3ᵉ argument : saisis le premier filtre, "[Ventes].[Produit].[Clavier]", qui restreint la mesure au clavier.
  5. 5
    En 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.
  6. 6
    Ferme la parenthèse et appuie sur Entrée.
Une fois les morceaux assemblés, ta formule donne ça :=VALEURCUBE("ThisWorkbookDataModel"; "[Measures].[Total CA]"; "[Ventes].[Produit].[Clavier]"; "[Ventes].[Zone].[Nord]")
Explication
Chaque expression ajoutée resserre le contexte d'un cran : le clavier d'abord, le Nord ensuite. La fonction VALEURCUBE rend 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).
Le combo gagnant
MEMBRECUBE et VALEURCUBE forment le duo des rapports OLAP dynamiques : MEMBRECUBE dit « quoi » (le membre à cibler), VALEURCUBE dit « combien » (la valeur agrégée). Branche MEMBRECUBE sur une liste déroulante et ton tableau se recalcule tout seul.
Lucas, la mascotte du Dojo, avec une ampoule, partage des astuces avancées

Astuces avancées avec VALEURCUBE

1Astuce

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.

2Astuce

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.

3Astuce

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.

Le conseil du pro
Pour un tableau croisé entièrement dynamique, mixe les références : dans VALEURCUBE, appelle MEMBRECUBE sur $A2 pour le produit (colonne figée) et sur B$1 pour la région (ligne figée). Tu copies la formule sur toute la grille et Excel ajuste chaque croisement tout seul.
Lucas, la mascotte du Dojo, l'air gêné face à une erreur Excel

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.

FAQ

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.

Ressources

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