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