Modifier les paramètre d'un taleau croisé dynamique VBA

Bonjour,

Suivant le type de TCD crée, il faut réajuster la ligne pour calculer le numéro de la dernière colonne et effectuer le décalage.

Tes premiers TCDs comportent des champs de page !

Pour comprendre, ajoute :

' Calcul colonne pour prochain TCD
    '--------------------------------------------------------------------------
    lastCol = wsPT.Cells(lastRow + 1, Columns.Count).End(xlToLeft).Column + 2
   MsgBox lastRow

[/surligner]

Et Lance la procédure.

Que dit le message et regarde à quelle ligne elle correspond dans la feuille de calcul.

Pour le reste, il n'y a pas de soucis à la lecture.

Mais un fichier plus représentatif de tes données serait apprécié, pour la suite.

Cdlt.

Bonjour,

Tout d'abord, merci pour avoir pris le temps de m'expliquer.

Mais un fichier plus représentatif de tes données serait apprécié, pour la suite.

J'ai joint un fichier qui illustre ce que j'avais expliqué dans mon dernier message.

C'est dommage que la qualité des données peut être affectée si je combine les trois feuilles (base, table et chart) ou au moins les deux feuilles (table et chart).

Parce que du coup, chaque base est à l'origine de deux feuilles supplémentaires.

Par conséquent, ayant une dizaine de feuilles bases cela va engendrer après lancement des macros table et chart une vingtaine de feuilles dans mon classeur. Ce qui est assez lourd...

J'ai beau réfléchir mais je n'arrive pas à avoir si finalement il est possible d'optimiser la structure de ce classeur aux mille et une feuilles.

Merci d'avance pour votre aide.

Bien cordialement,

18structure-data.xlsx (15.45 Ko)
pb graphe

Bonjour,

Tout d'abord, par rapport à un de mes précédents messages dans lequel je posais la question suivante:

Par ailleurs, je suis en train de constater que la macro Table ou la macro Chart dépend du nom de la feuille préalablement créer. Est-il possible de contourner cela?

=>Ne voyant pas d'autres issues, j'ai opté pour la solution dé faire dans mon module autant de macro qu'il y a de base.

Par ailleurs, @Jean-Luc:

J'ai une question par rapport à l'un des codes que vous m'avez fournie. Je rencontre un petit problème lorsque je l'adapte aux derniers codes réalisées.

Je m'explique:

Dans le dernier fichier, vous m'avez permis d'avoir les tcd en valeur nombre d'une part et en % d'autre part. Du coup il y a 6 tcd sur ma feuille base.

Aussi, en laçant la macro chart afin d'avoir les graphes associés à ces tcd.

Le code bloque au niveau de cette ligne:

pb graphe

Je me suis dit que peut être c'était à cause de cette ligne qui est la 1ère ligne du code:

pb graphe

Car il y a le nombre 3 alors que maintenant il 6 tables dans ma feuille.

J'avoue je ne comprend pourquoi il m'indique un problème (voir image avec ligne surligner) surtout qu'auparavant cela avait marché.

Merci d'avance et merci pour toute l'aide que vous m'avez apporté jusqu'alors.

nb graophe

Bonjour,

Tout d'abord supprime la ligne :

 If ActiveWorkbook.Worksheets("TCDs").PivotTables.Count <3 Then Exit Sub

Ensuite, je ne comprends pas la ligne surlignée en jaune.

Sinon envoie ton classeur.

Cdlt.

Bonjour @Jean-Luc,

Dans votre dernier message:

Sinon envoie ton classeur.

J'ai retravaillée de mon côté dessus afin de comprendre pourquoi cela dysfonctionnait mais en vain je vous joint donc le fichier avec l'erreur.

En vous remerciant par avance pour votre précieuse aide.

Bien cordialement

17pb-graphes.xlsm (30.32 Ko)

Bonjour,

Voir fichier en retour.

J'ai apporté une modification à la procédure suivante :

Private Sub cmdCreatePT_Click()

    With Application
        .EnableEvents = False
        .ScreenUpdating = False
    End With

    CreatePivotTables
    CreatePivotCharts

   Application.EnableEvents = True

End Sub
18pb-graphes.xlsm (37.35 Ko)

Re,

Je vous remercie de m'avoir répondu.

J'ai apporté les nouvelles modification à mon fichier "original" mais une erreur se produit, voir l'image suivante:

capture erreur

Voyez-vous d'où cela peut venir svp?

Merci d'avance

Re,

N'aurais tu pas 2 CommandButton1_Click dans ton module de feuille ?

Cdlt.

Re,

L'erreur vient-elle du fait qu'en amont il existe déjà une autre erreur?

Dans la macro chart on a cette ligne qui a vraiment du mal à se faire accepté.

capture erreur1

Si de votre côté l'erreur n'apparaît alors supprimer les graphes présents sur la feuille "Graphiques" puis relancer la macro Chart et je ne sais pas pourquoi mais l'erreur se déclenche normalement.

Merci d'avance pour votre aide.

Re,

Est ce que l'erreur se produit dans le dernier fichier que j'ai envoyé ?

Cdlt.

Oui l'erreur se produit également.

En fait on peut lancer qu'une seule fois la macro, si par exemple on supprime le contenu de la feuille Graphiques et que l'on relance la macro alors une erreur s'affiche (celle indiquée dans la ligne de mon message précédent)

Re,

Aucun dysfonctionnement détecté dans le classeur.

J'ai cependant désactiver la procédure évènementielle de la feuille TCD.

Cdlt.

20pb-graphes.xlsm (40.34 Ko)

Nickel, la macro tourne enfin normalement . Peut-être que cela venait de la procédure évènementielle.

Mais bon de votre côté cela fonctionnait parfaitement!

J'aimerai savoir, est-il possible d'attribuer une couleur par défaut selon le filtre choisi à notre graphique?

Par exemple, si le "Code groupe" choisi à partir du filtre est 1 alors les barres du graphiques seront bleu...

En vous remerciant pour votre aide.

Bien cordialement,

RE,

Trop de difficultés pour ce nouvel exercice.

Cdlt.

Bonjour,

Merci en tout cas pour toute l'aide que vous m'avez apporté!

Bien cordialement-

Rechercher des sujets similaires à "modifier parametre taleau croise dynamique vba"