XL 2016 VBA : PrintArea - Range d'une page

dionys0s

XLDnaute Impliqué
Bonjour le forum,

j'ai un onglet avec une zone d'impression paramétrée, et j'ai besoin de connaître la plage de cellule utilisée par chaque page. Je vois bien la propriété PageSetup.Pages de mon objet worksheet, mais rien qui ne me renvoie vers le résultat désiré... Si vous avez des idées, je suis preneur.

D'avance, merci pour votre aide.
 

Pièces jointes

  • Adresse de chaque page.xlsm
    10.8 KB · Affichages: 23

dionys0s

XLDnaute Impliqué
Bonjour le forum,

J'ai poursuivi mes recherches sur Internet, et n'ayant rien trouvé qui fonctionne dans tous les cas de figures, je me suis penché plus sérieusement sur la problématique. Je n'ai pas trouvé de méthode "simple", mais je vous livre le résultat, qui fonctionne dans tous les cas de figure que j'ai pu tester, des plus simples aux plus tordus.

Le résultat de la fonction principale qui analyse la mise en page d'un onglet pour en déduire la plage de chaque page est une collection, sans clé, dans l'ordre des pages, qui contient (pour chaque item) l'objet Range de la page en question. J'ai hésité à faire autrement, comme par exemple une variable tableau, ou encore une zone d'impression découpée en Areas avec un area par page.

D'ailleurs à ce sujet, j'aimerais comprendre pour quelle raison (si elle existe) les différentes Area (s'il y en a) de PageSetup.PrintArea sont séparées par un point-virgule alors que si je veux définir un range à plusieurs areas, je dois les concaténer à l'aide d'une virgule, et non pas d'un point-virgule. C'est valable sur n'importe quelle version d'Excel ? Ou alors ça dépend de la langue système ?

Je suis preneur de tout avis ou suggestion, rapport de bug, etc. que ce soit au sujet du fichier exemple, du code ou de ma question.

Bonne journée à tous
 

Pièces jointes

  • Range de chaque page.xlsm
    108.4 KB · Affichages: 18

Discussions similaires

Statistiques des forums

Discussions
312 169
Messages
2 085 926
Membres
103 043
dernier inscrit
nouha nj