Dimension tableau automatique et export PDF VBA

Bonjour à tous,

Je suis nouveau sur le forum, je vais donc tacher de respecter la charte, et vous exposer mon problème de la façon la plus claire et précise possible.

Pour le besoin de mon projet, j'ai utilisé un fichier test "exemple", qui est créé sur le même principe que mon projet personnel. Dans mon projet personnel, les données sont beaucoup plus volumineuses. J'aimerais donc pouvoir appliquer notamment des macro "boucle".

Dans l'exemple, il s'agit du résultat quelconque de 3 équipes, différencié par un n° d'équipe.

Il y a 6 feuilles dans le classeur.

La feuille 1 "résultat" indique simplement les résultat de tout le monde.

La feuille 2 "Synthèse" donne les résultat d'une équipe, avec en cellule (F,5) le numéro d'équipe, qui est modifiable, pour obtenir un graphique différent si on choisi 1 2 ou 3 (les 3 équipes).

-> Vient ma première question :

Je souhaite que mon graphique s'adapte en fonction du nombre de personne dans l'équipe automatiquement,

C'est à dire, qu'il n'y ait pas d'espace blanc sur la droite du graphique.

Pour remédier à ce problème, j'ai créer 3 autres onglets, que j'ai intitulé par le nombre de personne dans chaque équipe.

Ainsi, si je souhaite exporter au format PDF les graphiques des 3 équipes, je dois changer le numéro en feuille "synthèse (F,5), puis changer de feuille pour choisir celle qui correspond au nombre de personne dans l'équipe.

->Ma seconde question dans les conditions actuelles (obliger de changer de feuille pour avoir le bon graphique) :

Je souhaite automatiser l'extraction PDF des différents graphiques.

Cependant, je bloque à un moment dans l'écriture du code :

Sub exppdftest()

Sheets("parametre").Select

Range("A1").Select

Dim der As Integer

der = Range("D1")

For x = 1 To der

Sheets("parametre").Select

ActiveCell.Offset(1, 0).Select

Selection.Copy

Sheets("Synthèse").Select

Range("F5").Select

ActiveSheet.Paste

Application.CutCopyMode = False

Sheets("parametre").Select

ActiveCell.Offset(0, 1).Select

Sheets("ActiveCell").Select

Next x

End Sub

C'est au moment ou le code est en jaune, que j'aimerais en fait sélectionner l'onglet qui correspond à la valeur de la cellule ou je suis a ce moment la dans le code,

le code que j'ai écris est faux mais je ne connais pas le bon codage; si un code juste existe, je me retrouverais ensuite dans la feuille voulu,

Puis ensuite je code l'export PDF,

et je reviens ensuite dans la feuille parametre,

je bouge ma sélection sur la gauche,

et je relance la boucle.

Je vous joins mon fichier Excel en espérant que vous ayez compris ce que je cherche à réaliser.

Merci beaucoup !

14exemple.xlsm (41.23 Ko)

Bonjour et bienvenue,

Un proposition à étudier, mais les fichiers sont enregistrés en gif (image) et dans le répertoire courant.

Cdlt.

11nikolepal.xlsm (41.59 Ko)
Option Explicit

Public Sub Create_Pictures()
Dim sPath As String, sFile As String
Dim pt As PivotTable
Dim objChart As Chart
Dim pi As PivotItem
    Application.ScreenUpdating = False
    sPath = ThisWorkbook.Path & Application.PathSeparator
    Set pt = Worksheets("Synthèse").PivotTables(1)
    Set objChart = Worksheets("Graphique").ChartObjects(1).Chart
    For Each pi In pt.PivotFields("équipe").PivotItems
        pt.PivotFields("équipe").CurrentPage = pi.Name
        sFile = "Equipe_" & pi.Name & ".gif"
        objChart.Export Filename:=sPath & sFile, filtername:="GIF"
    Next pi
    pt.ClearAllFilters
End Sub
Rechercher des sujets similaires à "dimension tableau automatique export pdf vba"