Petit problème avec BeforePrint
Le
ThierryP

Bonsoir le forum,
Tout est dans le titre !! En VBA, je paramètre l'impression d'une feuille=
(en-têtes, pieds de page, etc etc) par une macro dans un module st=
andard.
Si je lance la macro manuellement, tout se passe bien ,je fais un aperçu =
que je peux refermer sans problème.
Si je lance la macro par un Call ma_macro dans le BeforePrint, tout va bien=
jusqu'au moment de refermer l'aperçu. L'écran est grisé, les bout=
ons de l'aperçu ne répondent plus : seule option (heureusement, il y en=
a une !!), je peux cliquer sur la croix de fermeture d'Excel, qui me deman=
de si je veux sauvegarder (ouf !!)
Une petite explication à ce phénomène bizarre autant qu'étrange (po=
ur moi en tous cas !!)
D'avance merci
ThierryP
Tout est dans le titre !! En VBA, je paramètre l'impression d'une feuille=
(en-têtes, pieds de page, etc etc) par une macro dans un module st=
andard.
Si je lance la macro manuellement, tout se passe bien ,je fais un aperçu =
que je peux refermer sans problème.
Si je lance la macro par un Call ma_macro dans le BeforePrint, tout va bien=
jusqu'au moment de refermer l'aperçu. L'écran est grisé, les bout=
ons de l'aperçu ne répondent plus : seule option (heureusement, il y en=
a une !!), je peux cliquer sur la croix de fermeture d'Excel, qui me deman=
de si je veux sauvegarder (ouf !!)
Une petite explication à ce phénomène bizarre autant qu'étrange (po=
ur moi en tous cas !!)
D'avance merci
ThierryP
Sans voir la macro... c'est hasardeux!
Tu as essayé quelque chose comme ceci :
'----------------------------------------
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Application.EnableEvents = False
Call YourMacro
Application.EnableEvents = True
Cancel = True
End Sub
'----------------------------------------
J'ai appliqué les solutions proposées.... sans plus de résultat !
Je suis sous XP SP3, Excel 2002 SP3, rien de particulier (pour autant que j e sache !!). Il me semble que c'est un problème que j'avais déjà il y de ça for longtemps.... donc bien sûr, j'ai oublié la solution (si i l y en avait une...).
Pour info, la macro complète :
----------------------------------------
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Application.EnableEvents = False
Call Mise_en_Page
Application.EnableEvents = True
Cancel = True
End Sub
---------------------------------------
Sub Mise_en_Page()
Application.ScreenUpdating = False
Zone_Utile = Range("A10:AW" & Range("I65000").End(xlUp).Row).Address
With ActiveSheet.PageSetup
.PrintArea = Zone_Utile
.PrintTitleRows = Range("$10:$10").Address
.LeftHeader = Range("Réf_Doc")
.CenterHeader = Range("Nom_Doc")
.RightHeaderPicture.Filename = _
"I:Modèles Documents CommunsLogos Bauerlogo BCF couleur.jpg"
.LeftFooter = "Date d'édition : &D"
.CenterFooter = ""
.RightFooter = "Page &P de &N"
.LeftMargin = Application.CentimetersToPoints(0)
.RightMargin = Application.CentimetersToPoints(0)
.TopMargin = Application.CentimetersToPoints(2.5)
.BottomMargin = Application.CentimetersToPoints(1)
.HeaderMargin = Application.CentimetersToPoints(0)
.FooterMargin = Application.CentimetersToPoints(0)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.PrintQuality = 600
.CenterHorizontally = True
.CenterVertically = False
.Orientation = xlLandscape
.Draft = False
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = 100
.PrintErrors = xlPrintErrorsDisplayed
End With
Application.EnableEvents = False
ActiveSheet.PrintPreview
Application.EnableEvents = True
End Sub
-----------------------------------------------
Et j'ai refait le test : si je lance manuellement la macro, tout va bien, s i je passe par le bouton "aperçu", tout va mal, je n'ai plus le focus sur les boutons de l'aperçu.
Merci d'avance
ThierryP
Le lundi 26 janvier 2015 18:14:26 UTC+1, MichD a écrit :
Merci pour ton temps Denis
ThierryP
Le mardi 27 janvier 2015 08:12:17 UTC+1, ThierryP a écrit :
Évidemment, je n'ai plus cette version d'installer pour effectuer des tests!
Cela fonctionne très bien sous Excel 2013.