Plage variable selon taille d'un TCD

Paftice -  
gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je souhaite faire des éditions PDF pour chaque variable d'un filtre d'un TCD. (Ce qui fonctionne avec le code ci-dessous). Or les résultats de chaque filtre du TCD donne des tailles de tableau différentes. Et là, je ne sais pas adapter ma sélection automatiquement en fonction de la taille du TCD.
Auriez vous s'il vous plait une astuce?
Merci d'avance.
.
Sub Macro1()

For i = 10001 To 10009
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Client"). _
CurrentPage = i
chemin = Cells(1, 2).Value
Source = "C:\Users\Name\Desktop"
Range("A3:E9").Select
Range("E9").Activate
ChDir "C:\Users\Name\Desktop"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
Source & "/" & chemin & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
True
Next i

End Sub

1 réponse

  1. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    Bonjour,

    Je ne vois pas sans ton classeur ce que tu veux effectivement obtenir.
    Si à chaque "i" tu as une vue différente, il faut définir la variable "PrintArea" et cela devrait fonctionner. Ce peut être :
    ActiveSheet.PrintArea = ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Client").CurrentPage.Address

    Tu peux supprimer ces lignes qui sont inutiles me semble-t-il.
    Range("A3:E9").Select
    Range("E9").Activate
    ChDir "C:\Users\Name\Desktop"
    1
    1. Paftice
       
      Merci beaucoup pour ton retour.
      En fait, j'ai une base de données dans une feuille. J'ai fait un TCD dans une autre. Ce que je souhaite faire, c'est enregistrer un PDF pour chaque élément de mon filtre. Mon filtre est le numéro client. En ligne j'ai les produits vendu et en colonne les pays d'origine
      J'ai testé et la macro plante sur la ligne PrintArea. Qu'est ce que l'Address dans le CurrentPage.Address de ta ligne?
      Encore merci
      0
    2. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
       
      Bonjour,

      la macro plante sur la ligne PrintArea
      Si tu pouvais nous mettre un exemple de structure des données, sans éléments personnels, avec la macro actuelle, se serait plus facile de t'aider.
      Pour communiquer ton classeur tu le télécharges sur https://www.cjoint.com/ et tu mets ici le lien obtenu.
      0