Code VBA création d'un TCD
GuezLNL
-
Le Pingou Messages postés 12249 Date d'inscription Statut Contributeur Dernière intervention -
Le Pingou Messages postés 12249 Date d'inscription Statut Contributeur Dernière intervention -
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.
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:
- Code VBA création d'un TCD
- Code ascii - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code puk bloqué - Guide
- Creation compte gmail - Guide
- Création site web - Guide
6 réponses
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 :
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 = 2Merci du retour… !
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.
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.
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… !
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… !
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.
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.
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)
Pour le point 2 je ne comprends pas pour l’instant… !
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… !
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.
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.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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.
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.
Merci d'aavncé, j'attenderai ta solution.
Bonne soirée.