Macro pour imprimer plusieur zone d'impression en une fois Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'193
Appréciations reçues : 446
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 23 mars 2016, 01:20

Au temps pour moi ! Je devais commencer à fatiguer, il manque un mot.
ZImpr = .Resize(45 * 12).Address
Mais ce n'est pas tout, j'ai zappé les sauts de page ! Si on imprime l'année, l'idée c'est un mois par page (donc 12 pages, car si on laisse FitPagesTall à 1 dans ce cas ça va faire une page très compressée.
Mais pour que chaque mois occupe une page il faut insérer des sauts de page. Je vais écrire la boucle pour ça...

Aucun problème pour marquer des lignes ou des colonnes, elles n'apparaîtront pas mais cela ne change rien à la zone d'impression.
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'193
Appréciations reçues : 446
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 23 mars 2016, 02:36

Ça se complique un peu !

Les sauts de page ne sont pas pris en compte avec la définition en nombre de pages en largeur et hauteur. Il faut donc repasser en zoom pour les avoir.
Donc : soit tu laisses s'imprimer en continu sur 7 pages (apparemment), soit il faut que tu regardes manuellement quelle valeur mettre au Zoom pour du A3. Pour du A4 c'est apparemment 40% (risque de ne pas être beaucoup lisible).

Ou bien on abandonne l'impression de l'année entière, ou encore dans ce cas je réorganise la macro pour une boucle d'impression mois par mois...
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'193
Appréciations reçues : 446
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 23 mars 2016, 02:53

La dernière solution évoquée semble la plus simple et la plus rationnelle...
Voilà donc rectifié pour un déroulement de l'année.
nunizgb_testmiseenpage.xlsm
(199.77 Kio) Téléchargé 23 fois
n
nunizgb
Membre habitué
Membre habitué
Messages : 123
Inscrit le : 26 décembre 2012
Version d'Excel : 2013

Message par nunizgb » 23 mars 2016, 09:28

Merci j'y vais regarde ce soir quand je suis devant mon ordinateur par contre j'ai vu que mon imprimante prend pour l'impression trois choix :
Noir
Couleur
Auto (noir/couleur )
Du coup si je met en noir le paramètre n'est pas changer mais je vais tester cela plus ce soir en tous cas merci pour l'aide.
n
nunizgb
Membre habitué
Membre habitué
Messages : 123
Inscrit le : 26 décembre 2012
Version d'Excel : 2013

Message par nunizgb » 23 mars 2016, 18:36

Merci MFernad,

Tout marche comme il faut l'impression de l'année marche mais comme elle est fait en boucle c'est comme si j’imprime mois par mois mais en une seule fois. Par contre faut que je voit comment mettre les numéro de pages comme il faut si on imprime l'année afin d'avoir 1/12, 2/12 etc...

Donc soit code en dure un footer pour l'impression par an et un footer l'impression par mois mais en tous cas un grand travail, la fin du tunnel rapproche :D

Ou peut être envoyer l'impression dans un fichier pdf afin d'avoir 12 pages dans pdf et ensuite faire impression du fichier pdf ?
J'ai trouve ce petit code qui sauvegarde en pdf mais comment faire que l'année (12 mois) soient sauvegarde dans ce fichier ?
Sub Print_Individual_Pages()
    Dim iHpBreaks As Integer, iVBreaks As Integer
    Dim iTotPages As Integer, a As Long, j As Long
    iHpBreaks = ActiveSheet.HPageBreaks.Count + 1
    iVBreaks = ActiveSheet.VPageBreaks.Count + 1
    iTotPages = iHpBreaks * iVBreaks
    j = 1
    For a = 1 To iTotPages
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
            "d:\dossier\NomPDFcellule.pdf", _
                Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
                    :=False, From:=a, To:=a, OpenAfterPublish:=False
        j = j + 1
    Next
End Sub
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'193
Appréciations reçues : 446
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 24 mars 2016, 00:31

C'est vraiment une manie d'aller chercher des codes n'importe où...
Essaie-le !! et tu verras !

Je t'ai commenté les diverses possibilités. Relis attentivement ce que j'ai écrit à ce moment.
Il reste aussi que si tu imprimes sans aperçu, les pages seront imprimées à la suite sans intervention.
n
nunizgb
Membre habitué
Membre habitué
Messages : 123
Inscrit le : 26 décembre 2012
Version d'Excel : 2013

Message par nunizgb » 24 mars 2016, 06:35

Oui je sais que cela imprimé à la suite sans intervention et cela marche par contre sur chaque page cela affiche page 1/1 au lieu de 1/12, 2/122 etc... mais je suis les pistes que tu as de décrit auparavant afin que j'arrive à ce que je cherche.

Et oui le code ne marche pas comme il faut en ce qui concerne pdf


Merci et bonne journée
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'193
Appréciations reçues : 446
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 24 mars 2016, 11:52

Bé non car ça suit les paramètres d'impression... et puis sauf erreurs ton code enregistrait des pages indivduelles...
Pour le numéro de page, il suffit d'utiliser le mois...

Mais as-tu regardé ton niveau de Zoom sur A3 ?
n
nunizgb
Membre habitué
Membre habitué
Messages : 123
Inscrit le : 26 décembre 2012
Version d'Excel : 2013

Message par nunizgb » 24 mars 2016, 20:29

MFerrand a écrit :Bé non car ça suit les paramètres d'impression... et puis sauf erreurs ton code enregistrait des pages indivduelles...
Pour le numéro de page, il suffit d'utiliser le mois...

Mais as-tu regardé ton niveau de Zoom sur A3 ?
Oups il y avait un malentendu de ce que j'ai dit avant désolé, ce que j'ai dit que le code que j'ai mis pour *pdf ,ne marche pas car il enregistrer comme tu as dit en pages individuelle.

En ce qui concerne l'astuce pour les numéro de pages d'utiliser les mois j'avoue que je n'est pas compris comment faire car j'ai bien mis printout afin de faire le test et 12 travaux d'impression sont lance et donc sur chaque page j'ai 1/1 car 12 travaux d'impression

Puis je n'est pas encore eu de temps de vérifier le ZOOM pour A4 et A3 car pas d'imprimante sur place demain je vais faire le tour pour la personne que je fait le code car mon imprimante chez mois c'est une vielle imprimante Noir mais je vais faire le Zoom afin de savoir au lieu d’utilisé fittopage = 1 afin de pouvoir inséré des pages break.

Mais merci bcp pour l'aide importer
n
nunizgb
Membre habitué
Membre habitué
Messages : 123
Inscrit le : 26 décembre 2012
Version d'Excel : 2013

Message par nunizgb » 25 mars 2016, 13:54

Bonjour,

Je viens de tester le ZOOM pour A4 et A3 donc
pour A4 c'est 53 % avec comme marge 1 cm avec 1.3 cm pour en-tête et pied de page
pour A3 c'est 77 % avec comme marge 1 cm avec 1.3 cm pour en-tête et pied de page

Merci

Edit : Je me suis rendu compte si je choisi l'impression Noir et blanc, la page s'imprime en noir et blanc sauf ce qui se trouve dans le pied de page avec ce code, mot TOI:
 .CenterFooter = "&G&12&B&""Comic Sans Ms""Copyright :" + "&G&12&B&KFF0000&""Comic Sans Ms"" TOI" & Chr(10) & "&G&12&K000000&""Comic Sans Ms""toi"
donc comment je puisse faire si
NetB = IIf(.CBCouleur.ListIndex = 0, False, True)
est égale à true (Noir) on a ceci comme pied de page :
.CenterFooter = "&G&12&B&""Comic Sans Ms""Copyright :" + "&G&12&B&K000000&""Comic Sans Ms"" TOI" & Chr(10) & "&G&12&K000000&""Comic Sans Ms""toi"
autrement c'est
.CenterFooter = "&G&12&B&""Comic Sans Ms""Copyright :" + "&G&12&B&KFF0000&""Comic Sans Ms"" TOI" & Chr(10) & "&G&12&K000000&""Comic Sans Ms""toi"
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message