Création Tcd vba: Probleme xlPivotTableVersion12

wapadou

XLDnaute Nouveau
Bonjour,

N'étant pas spécialiste j'utilise l’éditeur de macro. Et sur ce coup cela ne marche pas, j'ai fouillé sur le forum et voir que ce problème existe pour d'autres, je ne trouve pas la solution.

Objectif: Créer un Tcd automatiquement.

Erreur:

ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:="BD" _
, Version:=xlPivotTableVersion12).CreatePivotTable TableDestination:= _
"TCD W5PIC!R1C1", TableName:="Tableau croisé dynamique2", DefaultVersion:= _
xlPivotTableVersion12

Merci pour votre aide car la je ne sais plus ou aller.

PJ: Un fichier test
 

Fichiers joints

Dranreb

XLDnaute Barbatruc
Re : Création Tcd vba: Probleme xlPivotTableVersion12

Bonsoir.

Quitte à utiliser VBA, moi je préfèrerais me sortir carrément le rapport comme je le voudrais. Il est vrai que j'ai des outils puissants pour cela, surtout si tout doit être classé dans l'ordre.
Mais pour vous les mettre en œuvre selon vos besoins, il me faudrait un modèle du résultat souhaité, sans TCD.
 

wapadou

XLDnaute Nouveau
Re : Création Tcd vba: Probleme xlPivotTableVersion12

Mon besoin est assez complexe à expliquer comme cela. je vais créer un fichier test permettant la compréhension du besoin.

En fait je récupère un fichier texte dont je convertie les données. Je fais un Tcd pour obtenir une quantité totale par article selon une localisation bien précise.
Ensuite je compare cette quantité à des seuils (base dans le fichier).

Si il y a besoin il est identifié et propose un réapprovisionnement avec la localisation de la source et de la destination.
 

Dranreb

XLDnaute Barbatruc
Re : Création Tcd vba: Probleme xlPivotTableVersion12

Bonjour.

Mettez peut être dans un zip un exemplaire de fichier texte et un classeur montrant le résultat souhaité.
À +
 

Dranreb

XLDnaute Barbatruc
Re : Création Tcd vba: Probleme xlPivotTableVersion12

Bonjour.

Je ne comprends pas.
Vous laissez entendre en point 3 que seul le SUBINVENTORY_CODE = "MBDW5PIC" vous intéresse …, j'ai donc écrit une procédure de lecture qui fonctionne :
VB:
Sub TestLecture()
Dim Z As String, T(), S() As String, L&, C&
ReDim T(1 To 100000, 1 To 32)
Open "C:\Documents and Settings\luck\Mes documents\APC__QOH_Report_200515.txt" For Input As #1
Line Input #1, Z
S = Split(Z, "|")
ReDim T(1 To 100000, 1 To UBound(S) + 1)
L = L + 1
For C = 0 To UBound(S): T(L, C + 1) = S(C): Next C
While Not EOF(1)
   Line Input #1, Z
   S = Split(Z, "|")
   If UBound(S) >= 5 Then
      If S(5) = "MBDW5PIC" Then
         L = L + 1
         For C = 0 To UBound(S): T(L, C + 1) = S(C)
            Next C: End If: End If: Wend
Close #1
Feuil2.Cells.ClearContents
Feuil2.[A1].Resize(L, UBound(T, 2)).Value = T
End Sub
(C'est juste un test, le tableau T ne sera pas forcément écrit dans la feuille "Data")
… et en point 7 vous parlez soudain d'un autre SUBINVENTORY_CODE = "MBDW5RES" ??
 

wapadou

XLDnaute Nouveau
Re : Création Tcd vba: Probleme xlPivotTableVersion12

Jusqu'au point 6 je calcul un besoin dans MBDW5PIC.
Une fois ce besoin déterminé, je vais le chercher sur MBDW5RES uniquement.

L'idée est la suivante : J'ai un magasin de réserve (MBDW5RES) et j'ai mon rayon (MBDW5PIC) . Je calcule le besoin d'approvisionnement de mon rayon (étape 1-6) puis je veux indiquer ou ce trouve mes articles dans la réserve pour combler ce besoin (étape 7)

Est ce un peu plus clair ?
 

Dranreb

XLDnaute Barbatruc
Re : Création Tcd vba: Probleme xlPivotTableVersion12

Mmm… oui un peu. En tout cas seuls les SUBINVENTORY_CODE = "MBDW5PIC" et "MBDW5RES" sont donc à exploiter, c'est bien ça ?

Ou bien vaut-il mieux, pour développements futurs qui en considèreraient d'autres, tout garder tans le tableau d'entrée interne et faire la sélection après classement et réorganisation par ma fonction GroupOrg ? (Elle renvoie une collection de … collections de collections de lignes empaquetées par critères successifs)
 
Dernière édition:

wapadou

XLDnaute Nouveau
Re : Création Tcd vba: Probleme xlPivotTableVersion12

Oui effectivement je pense qu'il vaut mieux tout garder et exploiter par regroupement seulement ce qui est utile.
 

Dranreb

XLDnaute Barbatruc
Re : Création Tcd vba: Probleme xlPivotTableVersion12

Encore une chose qui me trouble: Votre modèle de MinMax est classée par Locator, ce qui m'a donné l'impression que c'était le principal critère de regroupement. Or vous en voulez d'autres, des Locator, venant des MBDW5RES.
Ne serait-ce pas "Part" qui serait le seul critère de regroupement ? Et dans ce cas je suis obligé d'établir le résultat classé dessus, quitte à reclasser ensuite sur Locator.

Bon. Je considère que c'est ça et je vous livre ce où j'en suis. La macro s'appelle ÉbaucheRésultat.
 

Fichiers joints

Dernière édition:

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas