Comment imprimer la même page de plusieurs onglets
Résolu
Flojo05
Messages postés
9
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Malgré mes différentes tentatives, je ne parviens pas à imprimer la même page de plusieurs onglets d'un même fichier.
Mon fichier contient environ 45 onglets, chacun faisant 12 pages. Je souhaite par exemple imprimer la page 4 de chaque onglet. Je sélectionne les onglets, je fais imprimer, je sélectionne le numéro de page à imprimer, je coche feuilles sélectionnées et ça m'imprime toujours que la page du 1er onglet.
Je n'y connais rien en macro mais je suis ouverte à vos explication pour en créer une si je dois en passer par là.
Merci d'avance
Malgré mes différentes tentatives, je ne parviens pas à imprimer la même page de plusieurs onglets d'un même fichier.
Mon fichier contient environ 45 onglets, chacun faisant 12 pages. Je souhaite par exemple imprimer la page 4 de chaque onglet. Je sélectionne les onglets, je fais imprimer, je sélectionne le numéro de page à imprimer, je coche feuilles sélectionnées et ça m'imprime toujours que la page du 1er onglet.
Je n'y connais rien en macro mais je suis ouverte à vos explication pour en créer une si je dois en passer par là.
Merci d'avance
A voir également:
- Comment imprimer la même page de plusieurs onglets
- Comment supprimer une page sur word - Guide
- Comment imprimer un tableau excel sur une seule page - Guide
- Comment imprimer en a5 - Guide
- Journal de naissance gratuit a imprimer - Télécharger - Histoire & Religion
- Parole de chanson francaise gratuite à imprimer - Télécharger - Vie quotidienne
1 réponse
Bonjour Flojo05,
Si chaque onglet fait toujours 12 pages, alors :
la page 4 de l'onglet n est la page n° :
12 * (n - 1) + 4
Exemple : pour la page 4 de l'onglet 5, il te faudra imprimer
la page n° 12 × (5 - 1) + 4 = (12 × 4) + 4 = 48 + 4 = 52.
Ce renseignement est à utiliser soit pour une impression
manuelle de la page concernée, soit pour une macro.
Voici une macro pour imprimer la page 4 de l'onglet 5,
avec n = 5, x = 4.
Voici une autre macro pour imprimer toutes les pages 4
de chaque onglet, avec x = 4 :
Dans les 2 macros, si tu es sûr(e) d'avoir moins de 256 onglets,
tu peux remplacer « n As Integer » par « n As Byte ».
Si ton problème est réglé, merci d'aller en haut de page
pour cliquer sur « Marquer comme résolu ».
Cordialement. 😊
Si chaque onglet fait toujours 12 pages, alors :
la page 4 de l'onglet n est la page n° :
12 * (n - 1) + 4
Exemple : pour la page 4 de l'onglet 5, il te faudra imprimer
la page n° 12 × (5 - 1) + 4 = (12 × 4) + 4 = 48 + 4 = 52.
Ce renseignement est à utiliser soit pour une impression
manuelle de la page concernée, soit pour une macro.
Voici une macro pour imprimer la page 4 de l'onglet 5,
avec n = 5, x = 4.
Option Explicit Private Sub PrintPageX(n As Integer, x As Byte) Worksheets(12 * (n - 1) + x).Printout End Sub Sub Essai() PrintPageX 5, 4 End Sub
Voici une autre macro pour imprimer toutes les pages 4
de chaque onglet, avec x = 4 :
Option Explicit Private Sub PrintAllPagesX(x As Byte) Dim n As Integer For n = x to Worksheets.Count Step x Worksheets(n).Printout Next n End Sub Sub Essai() PrintAllPagesX 4 End Sub
Dans les 2 macros, si tu es sûr(e) d'avoir moins de 256 onglets,
tu peux remplacer « n As Integer » par « n As Byte ».
Si ton problème est réglé, merci d'aller en haut de page
pour cliquer sur « Marquer comme résolu ».
Cordialement. 😊
Et si je veux changer de n° de page, est-ce que je dois obligatoirement retourner et modifier ma macro ?
Tu n'as pas précisé de quel code VBA il s'agit ! Mais dans les 2 codes,
tu dois seulement changer la ligne de la sub Essai(), comme suit :
Si c'est pour le 1er code :
a) Pour onglet 5, page 3 : PrintPageX 5, 3
b) Pour onglet 3, page 8 : PrintPageX 3, 8
Si c'est pour le 2ème code :
Pour imprimer la 6ème page de chaque onglet : PrintAllPagesX 6
Tu as bien mis le code VBA dans Module1, n'est-ce-pas ? Et un seul
des 2 codes à la fois, selon ce que tu veux faire !
Tu peux aussi ajouter un InputBox pour les données onglet et page ;
modifications des 2 subs Essai() comme ci-dessous.
Pour le 1er code VBA :
Pour le 2ème code VBA :
Attention : pour les 2 codes VBA, laisse telle que la Private Sub !
Si ton problème est réglé, n'oublies pas de mettre le sujet en résolu. 😉
Sinon, donnes-moi plus de précisions sur ce qui ne vas pas. 😊
Je te confirme que je veux bien imprimer la page x de toutes les feuilles donc le 2° code.
Petit complément d'info, mon nombre de feuilles est variable :-)
Lorsque je tape 1 par contre, toutes les pages de toutes les feuilles s'impriment !!!
Je suis larguée
Réponse à ton message #4
Merci d'avoir précisé que tu veux imprimer la page x de toutes les feuilles ;
donc oui, il s'agit bien du 2ème code VBA. Tu as précisé aussi en autre info
que ton nombre de feuilles est variable ; c'est évidemment une indication
bien utile, même si le code VBA en tient déjà compte avec l'instruction
Worksheets.Count : ça retourne le nombre de feuilles du classeur.
C'est normal que tu n'aies pas eu le résultat attendu, car j'ai fait une
grosse erreur : j'ai vu ta demande, puis j'ai pensé à la formule
12 * (n - 1) + 4, et ensuite, j'ai bêtement utilisé Worksheets(x) qui est
pour la feuille d'un classeur et non pas pour une des pages
de cette feuille ! Désolé, mea culpa ! 😞
Je vais maintenant répondre à ton message #5. 😊