Code VBA création d'un TCD

Fermé
GuezLNL - 23 févr. 2016 à 16:04
Le Pingou Messages postés 12069 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 mai 2024 - 25 févr. 2016 à 17:43
Bonjour à tous,

Je viens vers vous pour l'histoire de création (automatisation) d'un tableau dynamique croisé. Je sais que vous allez me renvoyer aux anciennes articles du forum que le sujet a et encore encore traité. Malheuresuement pour moi, j'ai plusieurs fois changé mon code vba avec tous les programmes vus sur internet mais rien ne fonctionne.

Je souhaiterai créer un tcd avec comme Champs en colonne=> (ColumnFields:="Villes", RowFields:="Produits" <= en ligne et le pivot => la colonne Information. Vous pouvez voir mon code "Private Sub LancerTCD_Click() " dans le fichier joint ci dessous.
J'ai obtiens toujours une erreure dans la ligne suivante : Set pt = PTCache.CreatePivotTable(wsPT.Cells(1, 5), "TCD", , 3)

NB : Je Souhaiterai mon TDC renvoie les différents codes de couleurs à la place de chiffre pour ne pas faire la MFC tout le temps.

Le lien de mon fichier Cjoint : http://www.cjoint.com/c/FBxpacoo8Fl




En attente de votre préciuse aide, réponse, je vous remercie d'avancé!

Bien Cordialement.
A voir également:

6 réponses

Le Pingou Messages postés 12069 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 mai 2024 1 431
23 févr. 2016 à 18:02
Bonjour,
Je regarde ce qui est faisable pour demain.
0
Ré Le Pingou,

Merci d'aavncé, j'attenderai ta solution.

Bonne soirée.
0
Le Pingou Messages postés 12069 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 mai 2024 1 431
23 févr. 2016 à 21:36
Bonjour,
Premier point : Il ne doit pas y avoir de ligne vide entre la ligne des titres et la première ligne de données….supprimer la ligne 2 qui est vide.

Deuxième point, dans votre code il y a 4 conditions donc la dernière ligne pas de 6 mais 4 :
.FormatConditions(4).Interior.ColorIndex = 2 
Merci du retour… !

0
Bonjour Le Pingou,

J'ai une erreur dans les lignes suivantes :

Premier point : Set PvtTCD = ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=PRange).CreatePivotTable(TableDestination:=wsTCD.Range("K3"), TableName:="TCD1")

Quand j'attribue la destination dans une autre feuille "Analyse".

2ième point : Set PRange1 = wsTCD.Cells(3, 1).Resize(FinalRow, FinalCol)

Cette ligne : With ActiveSheet.Range(PRange1) => qui sert à colorier mes cellules de mon TCD.

Cdlmnt et Bonne journée.
0
Le Pingou Messages postés 12069 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 mai 2024 1 431
24 févr. 2016 à 10:56
Bonjour,
Eh bien, si vous avez apporté les 2 corrections proposées, votre procédure [Private Sub LancerTCD_Click()] fonctionne correctement…

Note : aucunes lignes de code, mentionnées, figure dans le fichier mis à disposition… !

0
Ré Le Pingou,

Tu es génial et merci pour ta réponse.
J'ai encore deux questions à ce sujet de TCD.

La première : Comment masque (ou rendre invisible) les chiffres ou encore les chiffres puissent avoir la même couleur que le fond de la cellule parce que j'essaie cette synthase Interior.Color = RGB(174, 240, 194) ça ne marche pas.

La deuxième : exemple si j'ai une article qui a deux ou plusieurs valeurs ou couleurs. En sortie je souhaiterai lui impose un code couleur.

Exemple : l'article COCA dans la ville de brest à la coleur 3 et 4 ou 3, 4 et 46 comme la fonction est xlSum, il va l'addictionne et j'aurai aucune couleur. Dans ce cas j'aimerai faire une condition tant qu'un produit a la couleur 4, on ne prend pas les autres ou s'il y a 3 et 46 et 2 on prend que la code couleur 2.

J'espère que ma question est claire.

Bien Cdlmnt.
0
Le Pingou Messages postés 12069 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 mai 2024 1 431
24 févr. 2016 à 17:21
Bonjour,
Si vous voulez que la police est la même couleur que le remplissage, vous insérez dans votre procédure à l’endroit adéquat cette ligne : (exemple condition 1 et couleur 4)
.FormatConditions(1).Font.ColorIndex = 4


Pour le point 2 je ne comprends pas pour l’instant… !

0
Ré Le Pingou,

Ta correction au point 1 : ne fonctionne pas, j'essaie même avec la formulation
Font.Color = RGB(192, 32, 255) , les couleurs de police chiffres sont toujours noirs.

Pour mon point 2 , voici mon fichier peut être ça te parlera plus. L'exemple de la ville de Caen et l'article alumette = le code est 7 c'est à dire le code 4 et 3 => dans ce cas je souhaiterai imposer que le code soit égaler à 4 ou de Paris et l'article joue = le code est 49 c'est à dire le code 46 et 3 => dans ce cas je souhaiterai imposer que le code soit égaler à 3.
http://www.cjoint.com/c/FByshspstHj

Merci d'avancé et Bonne soirée.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Le Pingou Messages postés 12069 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 mai 2024 1 431
24 févr. 2016 à 22:14
Bonsoir,
Pour le point1 pas d’accord, j’ai fait la modification comme proposée…voir feuille [Analyse] en utilisant la procédure [LancerTCD_Click] car cela n’a jamais été précisé https://www.cjoint.com/c/FByvmNKVKHs

Note je n'ai pas regardé le point 2 pour l'instant.
0
Bonsoir Le pingou,

La réponse à mon point 1, quand tu rélances à un nouveau le code, on perd les couleurs de la police.

Merci d'avancé et bonne soirée.
0
Le Pingou Messages postés 12069 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 mai 2024 1 431
25 févr. 2016 à 17:43
Bonjour,
Eh non c’est faux ou alors vous faites autre chose.
Si vous supprimer le TCD sur la feuille [Analyse] et que vous cliquez le bouton de commande tout se normalement.
Note : pour les valeurs 2 et 48 il n’y a pas MFC pour la police.

0