Dim pour champs calculés dans TCD

Y compris Power BI, Power Query et toute autre question en lien avec Excel
b
braz_ben
Nouveau venu
Nouveau venu
Messages : 8
Inscrit le : 14 février 2016
Version d'Excel : 2016 FR

Message par braz_ben » 6 septembre 2016, 15:22

Bonjour,

Travaillant dans une entreprise de conseil digital, je travaille sur une Macro VBA implantée nativement dans les Excel des employés afin de créer un tableau croisé dynamique automatiquement avec à la fois des champs classiques de TCD (somme et moyenne) et des champs calculés sur un ensemble de rapports XLSX contenant des données de trafic (clics, impressions,...) et de conversions (ventes, chiffre d'affaires...).

Je transforme tout d'abord la plage de données sous forme de tableau Excel nommé, ce qui me permet d'utiliser les en-têtes de colonne pour les calculs par la suite (sans avoir de référence relative du type range.(A1)...). Donc par exemple, la colonne CA s'appelle 'CA' indépendamment du numéro de colonne où elle est située dans le rapport et je peux l'utiliser dans les TCD derrière :)

A date, j'arrive à tout faire et tout fonctionne parfaitement pour 80% des clients "standards".

La problématique sur laquelle je bute désormais est que certains clients ont leur propre façon d'appeler certaines conversions, par exemple certains diront "CA", d'autres "Revenue" ou encore "Chiffre d'affaires" pour finalement indiquer la même chose à peu de chose près. Par ailleurs, chaque client peut aussi avoir une méthode différente de calcul du CA (TVA ou pas, frais de port ou pas) et cela se matérialise par des colonnes différentes dans la table de données sur laquelle est basée le TCD. Or il faut que j'adapte le champ calculé du TCD à la méthode de calcul du client et là je galère également...

Je cherche donc à utiliser une variable pour dire :

- Si c'est client1 alors la colonne par défaut CA du TCD s'appelle "Revenue"
- Si c'est client2 alors la colonne par défaut CA du TCD s'appelle "Chiffre d'affaires"

Dans le même ordre d'idée, je cherche à dire pour les champs calculés spécifiques au client:

- Si c'est client1 alors la méthode de calcul du CA est "Revenue/1,20" pour un CA HT
- Si c'est client2 alors la méthode de calcul du CA est "CA HT+Frais de port" [Frais de port est une colonne de mon tableau de base]

Je dispose du nom du client quelque part dans le classeur Excel donc j'ai l'information à l'ouverture du classeur que je peux matcher avec une liste de variables dans mon code VBA pour que le calcul s’exécute correctement.

J'ai testé avec

Dim Client(3) As String
Client(0)="Client1"
Client(1)="Client2"
Client(2)="Client3"

mais je ne sais pas comment lui dire, checke ça avec avec la cellule B2 qui contient le nom de client et en fonction de ça, voici les différents cas de figure pour renommer les en-têtes du TCD et modifier les calculs des champs calculés...

Si vous pouviez m'aider?

Merci,
John
Avatar du membre
Jean-Eric
Fanatique d'Excel
Fanatique d'Excel
Messages : 15'440
Appréciations reçues : 545
Inscrit le : 27 août 2012
Version d'Excel : 365 Insider

Message par Jean-Eric » 6 septembre 2016, 20:55

Bonsoir,
Je pense que tu dois joindre un fichier qui illustre tes propos avec un exemple de résultat.
Cdlt.
Jean-Eric

Je ne réponds pas aux M.P. non sollicités.
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message