OVH Cloud OVH Cloud

Graphique croisé dynamique. Impression automatisée.

16 réponses
Avatar
Patrick Bastard
Bonsoir à toutes et à tous.

L'un ou l'une d'entre vous aurait-il l'extrême bonté de me donner ne
serait-ce qu'un tout début de piste pour balayer via VBA chacune des valeurs
d'un champ de page d'un graphique croisé dynamique.

Le but est d'imprimer chacun de ces graphiques et, que ce soit sur ce forum,
chez Misange, sur Google.groupe ou via l'enregistreur, je n'y suis pas
arrivé.

Merci à vous tou(te)s d'être là en cas de besoin.

P. BASTARD
=====================================
Pour me contacter, remplacez "Chez" par @ dans l'adresse

Une foule de conseils utiles sur le site de Misange :
http://www.excelabo.net

10 réponses

1 2
Avatar
Patrick Bastard
Bonjour à toutes et à tous.

Je reviens vers vous pour que vous m'aidiez à imprimer tous les graphiques
(ou les graphiques choisis, -cases à cocher?- ce qui serait encore mieux)
d'un graphique croisé dynamique, à partir d'un TCD.

Le but est d'automatiser ces "1GRAYLOIS", "SILVESTRE" Etc... qui sont en
fait les valeurs du champ de page

Extrait de l'enregistrement automatique :
ActiveChart.PivotLayout.PivotTable.PivotFields("Moyen").CurrentPage "1GRAYLOIS"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
ActiveChart.PivotLayout.PivotTable.PivotFields("Moyen").CurrentPage "SILVESTRE"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
ActiveChart.PivotLayout.PivotTable.PivotFields("Moyen").CurrentPage "MURDZA"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True


Merci pour toute piste,

P. BASTARD
==================================== Pour me contacter, remplacez "Chez" par @ dans l'adresse

Une foule de conseils utiles sur le site de Misange :
http://www.excelabo.net
Avatar
Misange
Patrick Bastard wrote:

Bonjour à toutes et à tous.

Je reviens vers vous pour que vous m'aidiez à imprimer tous les graphiques
(ou les graphiques choisis, -cases à cocher?- ce qui serait encore mieux)
d'un graphique croisé dynamique, à partir d'un TCD.


Une foule de conseils utiles sur le site de Misange :
http://www.excelabo.net



Salut Patrick

la notion de "tous les graphiques" d'un TCD m'échappe... L'intérêt pour
moi d'un TCD c'est justement de pouvoir générer une quantité quasi
illimitée de graphiques à partir d'une unique base de données.
Ma proposition : enregistre les actions suivantes et adapte ton code :
sélection du graphique, clic droit, cocher fenêtre graphique (si ton GCD
est sur la même page que ton TCD), imprimer. Tu relies tout ça à un
bouton et tu imprimes ce qui t'intéresse.
Sinon, est ce que tes différentes interprétations de ton TCD sont
générées par VBA ? Dans ce cas ajoute juste ce qui précède dans chacun
des codes nécessaires ?
Mais j'ai peut être rien compris à ton pb :-(

PS merci pour ta signature :-)

--

Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta

Avatar
Patrick Bastard
Bonjour, Misange.

Le but de ce GCD est d'obtenir, à partir d'une seule base de donnée, les
indicateurs qualité de prestation d'un nombre aléatoire de sous-traitants,
exemple : le sous-traitant A traite x pourcentage de notre activité, mais
génère y pourcentage d'anomalies A, et z pourcentage de réclamations...
Je souhaite pouvoir imprimer tout ou partie de ces graphiques pour les
transmettre aux sous-traitants concernés, sans à avoir à choisir
manuellement le code de chacun d'eux, et cliquer sur icône de l'imprimante.
Mais peut-être en demandai-je trop ???

Ps : pour ce qui est de la référence à ton site, il m'a déjà tellement
appris que c'est la moindre des choses...
;-)))

Une foule de conseils utiles sur le site de Misange :
http://www.excelabo.net



Salut Patrick

la notion de "tous les graphiques" d'un TCD m'échappe... L'intérêt pour
moi d'un TCD c'est justement de pouvoir générer une quantité quasi
illimitée de graphiques à partir d'une unique base de données.
Ma proposition : enregistre les actions suivantes et adapte ton code :
sélection du graphique, clic droit, cocher fenêtre graphique (si ton GCD
est sur la même page que ton TCD), imprimer. Tu relies tout ça à un
bouton et tu imprimes ce qui t'intéresse.
Sinon, est ce que tes différentes interprétations de ton TCD sont
générées par VBA ? Dans ce cas ajoute juste ce qui précède dans chacun
des codes nécessaires ?
Mais j'ai peut être rien compris à ton pb :-(

PS merci pour ta signature :-)

--

Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta




Avatar
AV
Vue l'allusion de l'autre fil !
Essaye ça (noms à adapter) :

Sub zz_TCD()
With ActiveSheet.PivotTables("MonTablo").PivotFields("Moyen")
Dim monPivIt As Object
For Each monPivIt In .PivotItems
monPivIt.Visible = True
Next
'instructions d'impression à mettre là
On Error Resume Next
For Each monPivIt In .PivotItems
monPivIt.Visible = False
Next
End With
End Sub

AV
Avatar
AV
Pfff....inversion des for each !

Sub zz_TCD()
With ActiveSheet.PivotTables("MonTablo").PivotFields("Moyen")
Dim monPivIt As Object
On Error Resume Next
For Each monPivIt In .PivotItems
monPivIt.Visible = False
Next
For Each monPivIt In .PivotItems
monPivIt.Visible = True
'instructions d'impression à mettre là
Next
End With
End Sub

AV
Avatar
Patrick Bastard
Alain,

Sub zz_TCD()
With ActiveSheet.PivotTables("Graphe Résultat par
code").PivotFields("Moyen")
Dim monPivIt As Object
For Each monPivIt In .PivotItems
monPivIt.Visible = True
Next
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

On Error Resume Next
For Each monPivIt In .PivotItems
monPivIt.Visible = False
Next
End With
End Sub

J'ai une erreur 438 à la ligne 3 qu'est-ce qe j'ai fait de mal?
Aie, pas sur la tête...

--
==================================== Pour me contacter, remplacez "Chez" par @ dans l'adresse

Une foule de conseils utiles sur le site de Misange :
http://www.excelabo.net


"AV" a écrit dans le message de
news:
Vue l'allusion de l'autre fil !
Essaye ça (noms à adapter) :

Sub zz_TCD()
With ActiveSheet.PivotTables("MonTablo").PivotFields("Moyen")
Dim monPivIt As Object
For Each monPivIt In .PivotItems
monPivIt.Visible = True
Next
'instructions d'impression à mettre là
On Error Resume Next
For Each monPivIt In .PivotItems
monPivIt.Visible = False
Next
End With
End Sub

AV




Avatar
Misange
Patrick Bastard wrote:

Le but de ce GCD est d'obtenir, à partir d'une seule base de donnée, les
indicateurs qualité de prestation d'un nombre aléatoire de sous-traitants,
exemple : le sous-traitant A traite x pourcentage de notre activité, mais
génère y pourcentage d'anomalies A, et z pourcentage de réclamations...
Je souhaite pouvoir imprimer tout ou partie de ces graphiques pour les
transmettre aux sous-traitants concernés, sans à avoir à choisir
manuellement le code de chacun d'eux, et cliquer sur icône de l'imprimante.
Mais peut-être en demandai-je trop ???


Ce que je n'ai pas bien compris c'est comment tu manipules ton TCD : à
la main, par VBA, avec une liste pour sélectionner tes prestataires ? Ce
que tu voudrais c'est balayer automatiquement la liste de tous les
prestataires et imprimer le graphique correspondant ?
J'imagine que la soluce d'Alain doit répondre à ton attente.

Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta

Avatar
Patrick Bastard
Misange,

Actuellement, mon graphique est "manipulé manuellement" (si je puis dire...)
J'aurais souhaité pouvoir, avec une boite de dialogue, lui dire : "s'il te
plait, gentil GCD, imprime moi les feuilles correspondant au sous traitant
A, aux sous traitants C à F, mais pas au sous traitant B".
Mais si déjà je peux lui dire "imprime tout, je trierai ensuite, et
classerai verticalement ce qui est inutile", ce serait pas mal,
... et Alain est dessus.
Que cela ne l'empêche pas cependant de profiter de l'apéro dominical.
Je vais moi-même illico... à la santé de toutes et tous les contributeurs,
Tchin Tchin, salute, Nas Drovié...
--
==================================== Pour me contacter, remplacez "Chez" par @ dans l'adresse

Une foule de conseils utiles sur le site de Misange :
http://www.excelabo.net



Ce que je n'ai pas bien compris c'est comment tu manipules ton TCD : à
la main, par VBA, avec une liste pour sélectionner tes prestataires ? Ce
que tu voudrais c'est balayer automatiquement la liste de tous les
prestataires et imprimer le graphique correspondant ?
J'imagine que la soluce d'Alain doit répondre à ton attente.

Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta



Avatar
AV
Et la sieste alors ?
Lu ton mess précédent pour faire afficher tous les items sauf "B"
En supposant que ton champ de page "Moyen" affiche les items en F1 (à adapter)

Sub zz_TCD()
With ActiveSheet.PivotTables("Graphe Résultat par code").PivotFields("Moyen")
Dim monPivIt As Object
On Error Resume Next
For Each monPivIt In .PivotItems
monPivIt.Visible = True
Next
For Each monPivIt In .PivotItems
If monPivIt.Name = "B" Then
monPivIt.Visible = False
Else: monPivIt.Visible = True
[F1] = monPivIt.Name
'IMPRESSION
End If
Next
End With
End Sub

AV
Avatar
Patrick Bastard
Merci, Alain.

... et à bientôt sur ce forum.


P. Bastard
==================================== Pour me contacter, remplacez "Chez" par @ dans l'adresse

Une foule de conseils utiles sur le site de Misange :
http://www.excelabo.net

"AV" a écrit dans le message de
news:
Et la sieste alors ?
Lu ton mess précédent pour faire afficher tous les items sauf "B"
En supposant que ton champ de page "Moyen" affiche les items en F1 (à
adapter)


Sub zz_TCD()
With ActiveSheet.PivotTables("Graphe Résultat par
code").PivotFields("Moyen")

Dim monPivIt As Object
On Error Resume Next
For Each monPivIt In .PivotItems
monPivIt.Visible = True
Next
For Each monPivIt In .PivotItems
If monPivIt.Name = "B" Then
monPivIt.Visible = False
Else: monPivIt.Visible = True
[F1] = monPivIt.Name
'IMPRESSION
End If
Next
End With
End Sub

AV




1 2