Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

TCD inverse

11 réponses
Avatar
Droopy191
Bonjour,

J'aurais besoin de faire une sorte de TCD inverse.
Je pars d'un tableau de données brutes en ligne de la facon suivante
client - référence - mois - quantité

Je fais un TCD pour obtenir une synthèse
en ligne: client référence
en colonne les mois
les données sont les quantités

Visuellement ca donne ca
| janvier 2012 | février 2012 | ....
--------------------------------------------------------------------------
référence 1 | client 1 | q1 | q2
| client 2 | q3 | q4
référence 2 | client 1 | q5 | q6
| client 3 | q7 | q8
...


Ce rendu permet une bonne visualisation des mois à venir. Les quantités
sont ajustées en fonction des tendances ( copier / coller du tcd et
ajustement manuel des valeurs quantités).
Une fois ces ajustements de prévisions réalisées, je voudrais
retransformer ces données en lignes pour pouvoir les réintégrer dans la
GPAO.
client - référence - mois - quantité


J'ai trouvé une macro qui me permet de tranformer mon format TCD en
ligne, si il y une seule colonne de base ( par exemple, le client ou la
référence ) mais pas 2 colonnes tel que présenté plus haut client +
référence.


------------------------------------
Sub TCD_Inverse()
Dim SummaryTableRange As Range
Dim PivotTableSheet As Worksheet

Set SummaryTableRange = ActiveCell.CurrentRegion

If SummaryTableRange.Count = 1 Or SummaryTableRange.Rows.Count < 3 Then
MsgBox "Select a cell in the summary table.", vbCritical
Exit Sub
End If

ActiveWorkbook.PivotCaches.Add _
(SourceType:=xlConsolidation, _
SourceData:=Array(SummaryTableRange.Address(True, True, xlR1C1,
True))) _
.CreatePivotTable TableDestination:="", _
TableName:="PivotTable1"
Set PivotTableSheet = ActiveSheet

With PivotTableSheet
.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
.PivotTables("PivotTable1").DataPivotField.PivotItems("Nombre
de Valeur").Position = 1
.PivotTables("PivotTable1").PivotFields("Ligne").Orientation =
xlHidden
' .PivotTables("PivotTable1").PivotFields("Ligne").Caption = "Toto"

.PivotTables("PivotTable1").PivotFields("Colonne").Orientation
= xlHidden
End With

Range("B4").ShowDetail = True
Application.DisplayAlerts = False
PivotTableSheet.Delete
Application.DisplayAlerts = True

End Sub

------------------------------------


En concaténant, client+référence dans une seule colonne au lieu de 2
colonnes avant le TCD_Inverse() ca marchera mais auriez vous des idées
sur comment faire sans ce paliatif ?



merci d'avance pour vos idées ou solutions.

--
DR

1 réponse

1 2
Avatar
DanielCo
Le 15/01/2013 11:40, pom...pom...pom.. a écrit :
Bonsour®

"Droopy191" a écrit dans le message de groupe de discussion :
50eea088$0$1964$

Bonjour,

J'aurais besoin de faire une sorte de TCD inverse.
Une fois ces ajustements de prévisions réalisées, je voudrais
retransformer ces données en lignes pour pouvoir les réintégrer dans la
GPAO.
*********************
tu double-click sur la cellule en bas à droite de ton TCD
EXCEL te crée une feuille avec les données ayant servies ...



Merci pour cette astuce.

Mes données de base sont issues d'un TCD mais en fait je fais un
copier/collez valeur de ce TCD pour pouvoir modifier les valeurs. Il s'agit
d'ajuster des prévisions de ventes.

C'est cette feuille qui dans la forme ressemble à un TCD que je souhaitais
retransformer.



Tu aurais pu le dire, je me suis cassé le c.. à reconstituer un TCD et
à le triturer pour mettre en forme les données !

Daniel
1 2