Microsoft 365 Références structurées

GMeunier

XLDnaute Nouveau
Bonjour,

Je vais d’abord poser mes 2 questions et après expliquer pourquoi je me les pose.

1° question : Je ne comprends pas la logique du fonctionnement de l’Option (Formule) : « Utiliser les noms de tableaux dans les formules que j’utilise avec l’autre option «Utiliser les fonctions LIREDONNEESTABCROISDYNAMIQUE ». Lorsque je travaille directement à partir d’une feuille Excel, dans la base de données ou à partir d’un TCD, j’ai des références explicites ou des références structurées suivant l’option, mais parfois l’option ne fonctionne plus, il faut alors décocher et cocher de nouveau et sauvegarder pour la retrouver (pas toujours). Quelles sont les manipulations pour que ça fonctionne clairement?

2° question : Si je travaille à partir d’un modèle de données, il me semble que les références explicites ne sont plus disponibles, seules les références structurées fonctionnent (OK ou pas ?). Dans ce cas, je souhaite pouvoir remplacer la valeur d’un paramètre en crochets [ ] par le contenu d’une cellule, mais à chaque essai j’obtiens une erreur.

Exemple : =LIREDONNEESTABCROISDYNAMIQUE("[Measures].[Somme de VALEUR]";$A$3;"[T_Données].[STATUT]";"[T_Données].[STATUT].&[Programmé]";"[T_Données].[INDICATEURS]";"[T_Données].[INDICATEURS].&[Collectif]")

Dans cette formule, je voudrais remplacer le dernier [Collectif] par l’adresse d’une cellule (disons A5) de façon à pouvoir tirer ma formule vers le bas sans avoir à la recopier à chaque fois à partir du TCD. Comment faire ?

Explications

J’ai l’habitude de réaliser des Tableaux de Bord en copiant certaines valeurs d’un Tableau Croisé Dynamique dans une autre feuille « Tableau de Bord » en ayant coché l’option «Utiliser les fonctions LIREDONNEESTABCROISDYNAMIQUE » ce qui me permet de remplacer la valeur de certains paramètres de la formule par l’adresse d’une cellule en jouant avec les $ pour fixer une ligne ou colonne. Ceci me permet de ne copier qu’une fois la formule à partir du TCD et après de dérouler, dans le Tableau de Bord, cette formule qui s’adapte automatiquement à l’intitulé de la ligne ou de la colonne. Ce processus fonctionne parfaitement lorsque je travaille directement dans un classeur Excel.

Ceci se complique si je cherche à appliquer la même procédure en travaillant avec un modèle de données, car je n'ai que des références structurées, et je ne sais pas remplacer un paramètre par le contenu d’une cellule.

Merci d’avance pour toute clarification (Peut-être très simple mais pas pour moi !)
 
C

Compte Supprimé 979

Guest
Bonsoir Gilles, Gérard, Georges 🤔

Après toutes ces explications, je ne comprends pas ou se situe votre problème

je ne sais pas remplacer un paramètre par le contenu d’une cellule.

Qu'est-ce que vous essayer d'exprimer à ce niveau ?

Pouvez-vous nous joindre un fichier avec un exemple ?

A+
 

GMeunier

XLDnaute Nouveau
Bonjour et merci pour l'intérêt porté.
Ma principale question est la suivante :
J'utilise la formule suivante pour copier-coller une valeur d'un TCD (Modèle de données et références structurées) dans une autre feuille (Tableau de Bord) : =LIREDONNEESTABCROISDYNAMIQUE("[Measures].[Somme de VALEUR]";$A$3;"[T_Données].[STATUT]";"[T_Données].[STATUT].&[Programmé]";"[T_Données].[INDICATEURS]";"[T_Données].[INDICATEURS].&[Collectif]")

J'ai besoin de remplacer le dernier paramètre [Collectif] par le contenu de la cellule A10, qui contient "Collectif" mais cela me permettra de tirer ma formule vers le bas sans avoir à la recopier à chaque fois à partir du TCD. Comment écrire pour que le contenu de cette cellule qui contient "Collectif" soit effectivement reconnue par la formule principale?
Merci d'avance.
Gérard
 

Pièces jointes

  • GM_Exemple Download.xlsx
    173 KB · Affichages: 14
C

Compte Supprimé 979

Guest
Bonsoir Gérard ;)

Pour moi, afin de récupérer une valeur dans un TCDD, je ne pense pas qu'il y est besoin de la fonction LIREDONNEESTABCROISDYNAMIQUE()

Celle-ci fonctionne tout aussi bien
VB:
=SIERREUR(RECHERCHEV("Collectif";DECALER(A$3;1;0;NBVAL(B:B)-2;2);2;FAUX);0)

Et sinon qul intérêt de récupérer toutes les valeurs que vous avez déjà 🤔

A+
 

GMeunier

XLDnaute Nouveau
Bonsoir Gérard ;)

Pour moi, afin de récupérer une valeur dans un TCDD, je ne pense pas qu'il y est besoin de la fonction LIREDONNEESTABCROISDYNAMIQUE()

Celle-ci fonctionne tout aussi bien
VB:
=SIERREUR(RECHERCHEV("Collectif";DECALER(A$3;1;0;NBVAL(B:B)-2;2);2;FAUX);0)

Et sinon qul intérêt de récupérer toutes les valeurs que vous avez déjà 🤔

A+
Bonjour Bruno,
Merci pour cette solution qui fonctionne et que je peux paramétrer et recopier!. Avec Excel, il y a toujours différentes options. Je vais l'essayer dans d'autres cas.
L'intérêt de copier et coller des résultats de TCDs dans une autre feuille est que je peux combiner des valeurs de différents TCDs et faire d'autres calculs (OK je pourrais les faire dans le TCD!) et surtout ajouter des MFC, graphiques, commentaires pour mettre en forme un Tableau de Bord compréhensible par les destinataires ce qui n'est pas le cas avec un TCD brut.
Lorsque je travaille en références explicites (Pas en modèle de données) l'utilisation de LIREDONNEES.... me donne une fonction très explicite qu'il est très facile d'adapter. Ce qui complique c'est cette même formule en références structurées (Obligatoire, à mon sens, avec un modèle de données).
Je n'ai donc pas de réponse à ma question initiale, comment écrire, avec la référence d'une cellule, un paramètre entre crochet d'une formule en référence structurée. Si je tape directement ce paramètre entre crochet, la formule fonctionne mais si je mets la référence de la cellule contenant ce même paramètre, ça ne marche pas.
Pourquoi la formule reconnait ce que je tape directement entre crochet mais pas ce même contenu écrit dans la cellule?
Cordialement😊
 

chris

XLDnaute Barbatruc
Bonjour à tous

Je trouve, contrairement à Bruno :p 😘, qu'il est préférable d'utiliser LIREDONNEESTABCROISDYNAMIQUE pour piocher dans un TCD surtout que dans nombre de cas le TCD n'a pas une structure aussi simple que le tiens.

Ici la source du TCD est une base cube, ce qui complique un peu la syntaxe
VB:
=LIREDONNEESTABCROISDYNAMIQUE("[Measures].[Somme de VALEUR]";$A$3;"[T_Données].[INDICATEURS]";"[T_Données].[INDICATEURS].&["&A10&"]")
 

GMeunier

XLDnaute Nouveau
Magnifique, merci Chris! 😁
D'accord pour l'utilisation de LIREDONNEES... qui donne des formules plus compréhensibles.
Je pensais que c'était une histoire de syntaxe même si je ne comprends pas exactement pourquoi les " et les & (Quelques compléments me permettraient de comprendre la syntaxe) mais ça marche et je peux dérouler ma formule comme je le faisais en références explicites.

Après avoir testé les différents cas : i) le classeur Excel et ii) le modèle de données, j’arrive aux conclusions suivantes :

Classeur Excel

Lorsque je recopie une valeur du tableau structurée (sur la même ligne), si l’option « Nom de tableau » est cochée, j’ai une formule en références structurées, si l’option n’est pas cochée ce sont des références explicites.

Si je fais le même exercice mais à partir des valeurs d’un TCD construit sur ce tableau structuré, l’option ne fonctionne pas (toujours en référence explicite), même si j’ai coché l’option « Utiliser LIREDONNEES … ».

En résumé, directement avec une feuille Excel, j’ai des références structurées uniquement lorsque je copie des données du tableau structuré, sur la même ligne et après avoir coché l’option ‘Utiliser des noms de tableau ».

Modèle de données

Lorsque je travaille avec un modèle de données, l’option « Nom de tableau » cochée me donne des références structurées, sur la même ligne directement dans le tableau structuré et des références explicites si je ne la coche pas comme précédemment.

Par contre, si je copie à partir d’un TCD, que l’option « Utiliser des noms de tableaux) cochée ou pas me donne toujours des références structurées. Est-ce du au fait que je travaille avec un modèle de données et qu'un modèle de données implique les références structurées avec les TCD?

Dans ce cas votre proposition va m’aider considérablement.
Très cordialement
Gérard
 

chris

XLDnaute Barbatruc
Bonjour

Pour moi ce sont 2 aspects distincts.

Un Tableau structuré obéit à certaines règles et par défaut utilise le référencement spécifique sauf pour se référer à une autre ligne et dans ce cas il peut être nécessaire de prendre certaines précautions.
Notamment avec des références du type $A$2:$A2.

Le fait d'utiliser ou non le référencement spécifique aux tableaux (@ et titres des colonnes avec crochets) n'a aucune incidence sur le TCD qui ne s'occupe que des valeurs et pas des formules qui les ont obtenues.

La syntaxe de LIREDONNEES … est liée au fait d'avoir une source "classique" :
  • plage fixe (déconseillé)
  • plage dynamique par formule nommée (à remplacer autant que possible par un tableau structuré)
  • tableau structuré
  • requête PowerQuery
ou une source cube :
  • base de données cube externe en source du TCD
  • basculement de données Excel ou POwerQuery dans le modèle de données PowerPivot, ce qui va construire une base cube pour stocker les données
Ici les "" et & obéissent aux règles classiques de la concaténation
 
Dernière édition:

GMeunier

XLDnaute Nouveau
Merci pour les précisions!
Maintenant, il faut que je digère les règles classiques de la concaténation!
Très cordialement.
Gérard
Bonjour

Pour moi ce sont 2 aspects distincts.

Un Tableau structuré obéit à certaines règles et par défaut utilise le référencement spécifique sauf pour se référer à une autre ligne et dans ce cas il peut être nécessaire de prendre certaines précautions.
Notamment avec des références du type $A$2:$A2.

Le fait d'utiliser ou non le référencement spécifique aux tableaux (@ et titres des colonnes avec crochets) n'a aucune incidence sur le TCD qui ne s'occupe que des valeurs et pas des formules qui les ont obtenues.

La syntaxe de LIREDONNEES … est liée au fait d'avoir une source "classique" :
  • plage fixe (déconseillé)
  • plage dynamique par formule nommée (à remplacer autant que possible par un tableau structuré)
  • tableau structuré
  • requête PowerQuery
ou une source cube :
  • base de données cube externe en source du TCD
  • basculement de données Excel ou POwerQuery dans le modèle de données PowerPivot, ce qui va construire une base cube pour stocker les données
Ici les "" et & obéissent aux règles classiques de la concaténation
 

Discussions similaires

Réponses
7
Affichages
209
Réponses
9
Affichages
383
Réponses
12
Affichages
511
Réponses
10
Affichages
318