Ajouter à la zone d'impression VBA

Bonjour à tous,

Je dois exporter sous format PDF des tableaux qui s'ajoutent au fur et à mesure en appuyant sur un bouton. Pour cela, j'aimerais à chaque ajout les ajouter à la zone d'impression via une macro VBA qui traduirait la commande que l'on trouve sur Excel dans "mise en page" mais je n'y arrive pas.

J'ai essayé en utilisant l'enregistreur de macro mais il me propose :

.OnAction.AutoSize = "$A$29:$N$49,$A$5:$N$25,$A$53:$N$66,$A$70:$N$76"

(les plages sont les plages des tableaux de la zone d'impression (un tableau par page)).

Merci de me débloquer, c'est pour un rapport que je dois rendre la semaine prochaine donc assez urgent :/

bonjour

pour définir une plage d'impression :

ActiveSheet.PageSetup.PrintArea = "$C$1:$J$8"

a toi d'adapter cela a tes plages

Fred

Ca, je sais mais à partir du moment où j'en définis une, ça supprime celles définies précédemment.

oui... et bah il suffit d'ajuster la zone d'impression... et donc la redéfinir a chaque fois que ajoute un tableau.... c'est pas cela que tu demandais ??? ou j'ai mal compris la demande...

Fred

Oui, la solution semble être de la réajuster mais je cherchais un moyen d'ajouter directement à une autre sans la supprimer.

De mémoire on peux récupérer la zone d'impression définie... tu pourrais donc la récupérer et ensuite ajouter ta nouvelle zone...

Mais cela revient toujours a la redéfinir...

dis moi si tu as besoin de la récupération de la zone d'impression, il faut que je fasse des fouilles dans les fichiers pour retrouver la syntaxe...

Fred

Re en fait c'est très simple pour la récupération :

LaPlage = ActiveSheet.PageSetup.PrintArea

Fred

Super !

Merci beaucoup à toi Fred !

Si le problème est résolu...

N'oublie pas de clôturer le fil...

Merci

Fred

Je vous montre mon code qui marche et qui me permet d'ajouter à la zone d'impression comme voulu.

Encore merci Fred !

Plage = Replace(ActiveSheet.PageSetup.PrintArea, ";", ",") 'La plage d'impression actuelle

Tableau = Range(Cells(DernLigneExport1 + 4, 1), Cells(DernLigneExport2, 14)).Address 'Le tableau ? ajouter ? la zone d'impression

ActiveSheet.PageSetup.PrintArea = Application.Union(Range(Plage), Range(Tableau)).Address 'La nouvelle plage

Bonsoir

merci

Fred

Rechercher des sujets similaires à "ajouter zone impression vba"