Repentignois
Messages postés14Date d'inscriptionvendredi 19 mai 2006StatutMembreDernière intervention23 octobre 2009
-
19 déc. 2008 à 14:57
NHenry
Messages postés15083Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention19 septembre 2023
-
19 déc. 2008 à 19:29
Je pioche depuis des heures sur le e.hasmorepages. J'ai une procédure d'impression qui comprend deux pages mais la seconde s'imprime sur la première, ignorant le e.hasmorepages. Voici un résumé de ma procédure en espérant que quelqu'un pourra m'éclairer.
PrivateSub PD_printpage(ByVal sender AsObject, ByVal e As System.Drawing.Printing.PrintPageEventArgs) _<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
Handles PD.PrintPage
e.HasMorePages = True
Static i AsInteger
Static NoPage AsInteger
Call Imprime_Entete ' Pour imprimer mon entête de page
While NbrLignesGrille < TotalGrille And y < BasPage
Repentignois
Messages postés14Date d'inscriptionvendredi 19 mai 2006StatutMembreDernière intervention23 octobre 2009 19 déc. 2008 à 18:44
J'ai trouvé la solution mais je ne comprends toujours pas pourquoi cela ne fonctionnait pas. Je n'ai pas utilisé la boîte à outils pour ajouter un PrintDialog, un Printdocument. Jê les ai plutôt créés en code de la façon suivante ... Public Class impression<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
PrivateWithEvents PD AsNew PrintDocument
PrivateWithEvents PDialog As PrintDialog
....
ensuite dans le LOAD j'ai écris le texte suivant :
PrivateSub Impression_Load(ByVal sender AsObject, ByVal e AsSystem.EventArgs) HandlesMe.Load
AddHandlerPD.PrintPage, _ AddressOfMe.Printdocument_printpage
et bien cela ne fonctionnait pas correctement comme je l'ai mentionné. D'utiliser la boîte à outils pour créer les objets a réglé le problème. Après toutes les recherches que j'ai faites, j'espère que cela servira à quelqu'un ou que quelqu'un trouvera pourquoi ce que j'écrivais ne fonctionnait qu'à toutes les deux pages.
Mderci pour ton aide NHenri. J'ai beaucoup apprécié
Repentignois
Messages postés14Date d'inscriptionvendredi 19 mai 2006StatutMembreDernière intervention23 octobre 2009 19 déc. 2008 à 16:13
Il me semble que je sorte de la procédure en écrivant :
e.hasmorepages = true
exit sub
Jde ne comprends pas comment je pourrais faire d'autre. En essayant de générer plus de deux pages, je me rends compte que je sors de la procédure qu'à toutes les deux pages et que les pages impaires s'impriment toutes par dessus les pages pairs.
Est-ce que cela peut aider à trouver une solution ?
Merci d'avance
Vous n’avez pas trouvé la réponse que vous recherchez ?
Repentignois
Messages postés14Date d'inscriptionvendredi 19 mai 2006StatutMembreDernière intervention23 octobre 2009 19 déc. 2008 à 17:47
Désolé de revenir là-dessus mais dans le pas à pas, je sors bien de la procédure. Le exit do ne peut pas fonctionner tandis que le exit while m'amène à e.hasmorepages = false. J'ai épuré le code de la façons suivante mais toujours avec une page paire qui s'imprime sur une page impaire., Y a-t-il une autre solution ?PrivateSub PD_printpage(ByVal sender AsObject, ByVal e As System.Drawing.Printing.PrintPageEventArgs) _<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
Handles PD.PrintPage
Imprime_Entete
While NbrLignesGrille < TotalGrille And y < BasPage