(TCD) Tri d'un champs de valeur?

Doktor

XLDnaute Nouveau
Bonjour à tous,

Je travaille actuellement sur un tableau croisé dynamique pour le boulot qui servira de tableau de bord pour des commerciaux à terme.

Il est composé de deux feuillets :

- une base de donnée dans lequel l'utilisateur copie-colle une extraction venue du logiciel de l'entreprise (AS400) à la suite de ce qui existe déjà puis clique sur "Actualiser tout" dans l'onglet "Données" d'Excel pour mettre à jour l'ensemble du tableau situé dans ...
- ... le deuxième onglet. Le tableau est constitué des champs suivants :

Étiquettes de colonnes :
* Années
* Valeurs

Étiquettes de lignes :
* Nom du client
* Ville

Valeurs :
* C.A.
* Différence (=C.A. 2015-C.A. 2014)

J'ai créé mon champs "Différence" en dupliquant le champs "C.A." puis, dans paramètres du champs, en sélectionnant "différence par rapport à ..." "année précédente".

Mon problème est le suivant : je souhaite donner plus de visibilité aux différences négatives (dont le C.A. 2015 est donc inférieur au C.A. 2014). J'ai déjà effectué une mise en forme conditionnelle mais j'aimerais maintenant pouvoir remonter en haut de la liste les différences négatives les plus élevées. En somme trier la colonne de Z à A.

Ne sachant pas comment m'y prendre, j'ai donc essayé, en cliquant sur le champs "Nom du client", d'utiliser les "filtres s'appliquant aux valeurs" en affichant les éléments pour lesquels "Différence" est "inférieur" à "0" dans un premier temps. Le but était de voir si je pouvais déjà faire un premier tri. Malheureusement, lorsque je fais ça, Excel me sort uniquement les chiffres d'affaires inférieurs à 0, je ne comprends pas pourquoi ...

Quelqu'un aurait une solution? Je suis novice dans les TCD et je sèche un peu ... Merci.
 

Doktor

XLDnaute Nouveau
Re : (TCD) Tri d'un champs de valeur?

Bonjour,

Oui, je suis désolé de l'absence de fichier mais vu qu'il contient des données très sensibles, il est aisé de comprendre que je ne peux le divulguer tel qu'il est. Si tu as éventuellement une solution pour te permettre une visualisation plus claire, je suis preneur.

J'ai essayé ce que tu m'as conseillé, cependant. Excel m'indique ce message :

messerr1.jpg

Qu'importe si je clique "oui" ou "non", rien ne se passe.
J'ai une hypothèse : lorsque j'ai créé le champs Différence en doublant le champs C.A. puis en modifiant ses paramètres de champs, une deuxième colonne "Différence" est apparue entièrement vide (elle calcule certainement la différence 2013-2014 mais vu qu'il n'y a aucune colonne 2013 ...). Est-ce que les options de tri supplémentaires ne trient pas cette colonne vide à la place de celle qui est utile (à savoir 2014/2015)? Si oui, comment y remédier?
 

Dugenou

XLDnaute Barbatruc
Re : (TCD) Tri d'un champs de valeur?

Re,
Je n'ai pas fait assez attention à ta description : pas possible de trier sur un champ calculé avec référence comme le dit le message.
Donc calculer cette différence directement dans tes données me semble la seule solution.
Désolé
 

Doktor

XLDnaute Nouveau
Re : (TCD) Tri d'un champs de valeur?

Ah, mince. :(
Ca risque d'être difficile avec la liste que me donne le progiciel ... C'est une ligne par mois et par client donc pour faire un écart de C.A. automatisé avec ça ... Ca risque de pas être très faisable ... :eek:

Mais c'est pas grave, au moins, j'ai ma réponse et je peux arrêter de patauger dans la semoule. Merci beaucoup de ton aide. :)

Tant que j'y suis, autre question. Dans les champs de tri, je suis capable de trier les clients et leur C.A. par commercial. Et chaque mois, envoyer aux commerciaux leurs résultats triés à partir de ce champs de tri.

Admettons que je veuille avoir les résultats du mois de mai du commercial n° C01, j'utilise mon champs "Mois" que je règle à "Mai" et mon champs "Code commercial" que je règle à "C01". Là, j'ai la liste des clients de C01 avec leur C.A. sur Mai. J'aimerais donc pouvoir extraire chaque résultat de chaque commerciaux pour un mois donné et l'avoir sur un feuillet à part sans qu'ils puissent fouiller les résultats de leurs collègues. Est-ce que c'est possible d'automatiser ça ou je dois continuer avec de bêtes et longs copiés-collés mensuels? :confused:
 

Dugenou

XLDnaute Barbatruc
Re : (TCD) Tri d'un champs de valeur?

Si tu mets le commercial en champ de page, tu peux ensuite, en un seul clic, générer une feuille par commercial avec la manip : afficher les pages de filtre du rapport (dans option du TCD en version .xlsx) : crée une feuille par commercial avec la valeur du champ en nom d'onglet : dans chaque feuille tu as un TCD
si tu ne veux pas qu'un commercial voie la feuille des autres : il te faut
1) sélectionner toutes les feuilles (groupe de travail), sélectionner toute la feuille, copier et coller valeur (ceci supprime le TCD sur chaque feuille mais y laisse les chiffres et le format)
2) déplacer chaque feuille dans un nouveau classeur

Cordialement

Edit : si tu veux creuser il y a possibilité de faire une macro pour enregistrer chaque feuille dans un fichier et au passage trier par différence décroissante
 
Dernière édition:

Doktor

XLDnaute Nouveau
Re : (TCD) Tri d'un champs de valeur?

Parfait, merci ! :)
Je connaissais pas du tout la manip pour sectionner un TCD. :eek:

La macro m'intéresse effectivement beaucoup mais le processus est-il à base de codage? Parce que j'avoue ne pas être très familier avec le VBA, même si j'en ai codé un peu par le passé. Ou est-ce que c'est juste l'enregistrement d'une macro? Dans ce cas, je pense que je sais faire. :rolleyes:

Dans l'ensemble, ça m'arrangerait beaucoup car dans un soucis d'efficacité, je ne veux donner quasiment aucun travail à l'utilisateur qui n'est pas formé à Excel.
 
Dernière édition:

Dugenou

XLDnaute Barbatruc
Re : (TCD) Tri d'un champs de valeur?

Pour la macro : je suis aussi trés nul en codage.
Je commence avec l'enregistreur pour avoir un "modèle" puis je rajoute une boucle for i=1 to xx
il y a une finesse pour nommer chaque fichier et définir le répertoire d'enregistrement : soit une liste dans ton classeur, soit ecrit à la main dans la macro si tu n'as pas trop de feuilles
Si tu as besoin d'aide il vaut mieux que tu ouvres un nouveau post
Code:
Sub DeplaceFeuilles()
'
' DeplaceFeuilles Macro
'

'
    For i = 1 To 15
    Sheets("liste VM").Select
        nomVMfeuille = ActiveCell.Offset(i - 1, 0).Value
        nomfichier = "G:\xx\yy\zz\01-Ventes\2013\envois\" & nomVMfeuille & ".xlsx"
        
    Sheets(nomVMfeuille).Select
    Sheets(nomVMfeuille).Move
    Range("H2").Select
    ActiveWindow.FreezePanes = True
    ActiveWorkbook.SaveAs Filename:=nomfichier, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
    ActiveWindow.Close
    Next i
    
End Sub

Cordialement
 

Statistiques des forums

Discussions
314 628
Messages
2 111 337
Membres
111 105
dernier inscrit
Joffrette