Macro PRINT PREVIEW et PRINT à Corriger

MisterT

XLDnaute Occasionnel
Bonjour à chacun, :)

Avec mon peu de connaissance VBA, j'ai amassé ici et là des infos pour créer une Macro pour faire un Print Preview et un Print d'une zone définie incluant le PAGE SETUP.

Le Print Preview et Print fonctionnent mais ne tiennent pas compte du PAGE SETUP que je demande.

Est-ce que quelqu'un accepterais de regarder le code et corriger l'erreur, ce serait très apprécié ?

Code:
Sub PrintPreview()
Application.ScreenUpdating = False
Dim Answer As String

Sheets("WELCOME").Select

PRINT_PAGE_SETUP
Range("$A$1:$M$38").Select
ActiveSheet.PrintPreview
Application.ScreenUpdating = True
Answer = MsgBox(Prompt:="Do you want to Print the Personalized Tensions?", _
Title:="Print Confirmation", _
Buttons:=vbYesNo)

If Answer <> vbYes Then
Range("A1").Select
Exit Sub
End If
Application.ScreenUpdating = False

ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1
Range("A1").Select
Application.ScreenUpdating = True
End Sub
________________________________
Sub RapidPrint()
Application.ScreenUpdating = False
Sheets("WELCOME").Select
Range("$A$1:$M$38").Select
PRINT_PAGE_SETUP
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1
Range("A1").Select
Application.ScreenUpdating = True
End Sub
________________________________
Sub PRINT_PAGE_SETUP()
With ActiveSheet.PageSetup
.PrintArea = "$A$1:$M$38"
.CenterHorizontally = True
.CenterVertically = True
.Orientation = xlLandscape
.PaperSize = xlPaperLetter
.BlackAndWhite = False
.LeftMargin = Application.InchesToPoints(0.5)
.RightMargin = Application.InchesToPoints(0.5)
.TopMargin = Application.InchesToPoints(0.5)
.BottomMargin = Application.InchesToPoints(0.5)
.HeaderMargin = Application.InchesToPoints(0.5)
.FooterMargin = Application.InchesToPoints(0.5)
End With
End Sub

Merci et bonne journée,

MisterT :)
 

JCGL

XLDnaute Barbatruc
Re : Macro PRINT PREVIEW et PRINT à Corriger

Bonjour à tous,

Peux-tu essayer avec :

Code:
Option Explicit

Sub Print_Preview()
Application.ScreenUpdating = False
Dim Answer As String

Sheets("WELCOME").Select

PRINT_PAGE_SETUP
Range("$A$1:$M$38").Select
ActiveSheet.PrintPreview
Application.ScreenUpdating = True
Answer = MsgBox(Prompt:="Do you want to Print the Personalized Tensions?", _
Title:="Print Confirmation", _
Buttons:=vbYesNo)

If Answer <> vbYes Then
Range("A1").Select
Exit Sub
End If
Application.ScreenUpdating = False
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1
Range("A1").Select
Application.ScreenUpdating = True
End Sub


Sub RapidPrint()
Application.ScreenUpdating = False
Sheets("WELCOME").Select
Range("$A$1:$M$38").Select
PRINT_PAGE_SETUP
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1
Range("A1").Select
Application.ScreenUpdating = True
End Sub


Sub PRINT_PAGE_SETUP()
With ActiveSheet.PageSetup
.PrintArea = "$A$1:$M$38"
.CenterHorizontally = True
.CenterVertically = True
.Orientation = xlLandscape
.PaperSize = xlPaperA4
.BlackAndWhite = False
.LeftMargin = Application.InchesToPoints(0.5)
.RightMargin = Application.InchesToPoints(0.5)
.TopMargin = Application.InchesToPoints(0.5)
.BottomMargin = Application.InchesToPoints(0.5)
.HeaderMargin = Application.InchesToPoints(0.5)
.FooterMargin = Application.InchesToPoints(0.5)
End With
End Sub
Tu avais des UnderScores ou Tirets Bas intempestifs dans le code (__________)

A+ à tous
 
Dernière édition:

MisterT

XLDnaute Occasionnel
Re : Macro PRINT PREVIEW et PRINT à Corriger

Bonjour JCGL :)

Merci pour ta réponse !

En fait, j'ai ajouté les UnderScores uniquement dans le Post pour bien séparer les Macros visuellement, désolé pour l'inconvénient !

À bientôt,

MisterT
 

MisterT

XLDnaute Occasionnel
Re : Macro PRINT PREVIEW et PRINT à Corriger

Bonjour à tous et merci à jetted et JCGL,

Effectivement le code fonctionne bien et j'ai fait quelques essais en changeant les marges de 0.5 à 0.1 et cela a fonctionné.

Les marges 0.5 dans le code donnent des marges de 1.3 dans le Page Setup d'Excel et les marges de 0.1 dans le code donnent 0.3 , ce qui convient.

Je constate donc que ma confusion était que le code est en pouce et la mise en page d'Excel est en cm; 0.5 po équivaut approximativement à 1.3 cm.

J'avais l'habitude de mettre des marges de 0.5 dans la mise en page Excel en pensant qu'il s'agissait de pouces.:rolleyes:

Merci encore jetted et JCGL d'avoir pris le temps de regarder mon code et de me répondre !

Bonne journée,
MisterT:)
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 370
Messages
2 087 693
Membres
103 641
dernier inscrit
anouarkecita2