Mettre en vb format paysage
Bjr a tous, j'ai une petite macro qui permet d'enregistrer une ou plusieurs feuilles excel en format PDF, mon problème est qu'il le fait automatiquement en format portrait, et bien sur moi je le veux en format paysage. Comment dire en VB "format paysage"?
Merci
Bonjour,
Essaie le code suivant :
ActiveSheet.PageSetup.Orientation = xlLandscapeCordialement,
V_Elbie
Bjr, non je ne vois pas la diférence,
Cordialement
Bizarre...
Envoie ton fichier, qu'on regarde d'un peu plus près... si c'est possible !
Cordialement,
V_Elbie
Re
ptitepo a écrit :Bjr a tous, j'ai une petite macro qui permet d'enregistrer une ou plusieurs feuilles excel en format PDF, mon problème est qu'il le fait automatiquement en format portrait, et bien sur moi je le veux en format paysage. Comment dire en VB "format paysage"?
Merci
Cordialement,
V_Elbie
- Messages
- 1'036
- Excel
- 2003 FR / 2007 UK
- Inscrit
- 07/05/2007
- Emploi
- Consultant en finance
Salut,
Voici la macro que j'ai généré avec l'enregistreur et qui fonctionne très bien après qu'on ai mis on error resume next au début.
Par contre, il faut fermet manuellement l'aperçu avant impression pour que la macro continue son travail.... Cela peut être ennuyeux mais c'est un début de piste...
Voici le code:
Sub Macro1()
On Error Resume Next
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.787401575)
.RightMargin = Application.InchesToPoints(0.787401575)
.TopMargin = Application.InchesToPoints(0.984251969)
.BottomMargin = Application.InchesToPoints(0.984251969)
.HeaderMargin = Application.InchesToPoints(0.4921259845)
.FooterMargin = Application.InchesToPoints(0.4921259845)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.PrintQuality = 600
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlLandscape
.Draft = False
' .PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
.PrintErrors = xlPrintErrorsDisplayed
End With
ActiveWindow.SelectedSheets.PrintPreview
Sheets("Fev").Select
ActiveWindow.SmallScroll Down:=-2
Sheets("Fev").Select
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.787401575)
.RightMargin = Application.InchesToPoints(0.787401575)
.TopMargin = Application.InchesToPoints(0.984251969)
.BottomMargin = Application.InchesToPoints(0.984251969)
.HeaderMargin = Application.InchesToPoints(0.4921259845)
.FooterMargin = Application.InchesToPoints(0.4921259845)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.PrintQuality = 600
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
.PrintErrors = xlPrintErrorsDisplayed
End With
ActiveWindow.SelectedSheets.PrintPreview
Sheets("Mars").Select
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.787401575)
.RightMargin = Application.InchesToPoints(0.787401575)
.TopMargin = Application.InchesToPoints(0.984251969)
.BottomMargin = Application.InchesToPoints(0.984251969)
.HeaderMargin = Application.InchesToPoints(0.4921259845)
.FooterMargin = Application.InchesToPoints(0.4921259845)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.PrintQuality = 600
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
.PrintErrors = xlPrintErrorsDisplayed
End With
ActiveWindow.SelectedSheets.PrintPreview
Sheets("Avr").Select
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.787401575)
.RightMargin = Application.InchesToPoints(0.787401575)
.TopMargin = Application.InchesToPoints(0.984251969)
.BottomMargin = Application.InchesToPoints(0.984251969)
.HeaderMargin = Application.InchesToPoints(0.4921259845)
.FooterMargin = Application.InchesToPoints(0.4921259845)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.PrintQuality = 600
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
.PrintErrors = xlPrintErrorsDisplayed
End With
ActiveWindow.SelectedSheets.PrintPreview
Sheets("Mai").Select
ActiveWindow.SelectedSheets.PrintPreview
ActiveWindow.SelectedSheets.PrintPreview
Sheets("Juin").Select
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.787401575)
.RightMargin = Application.InchesToPoints(0.787401575)
.TopMargin = Application.InchesToPoints(0.984251969)
.BottomMargin = Application.InchesToPoints(0.984251969)
.HeaderMargin = Application.InchesToPoints(0.4921259845)
.FooterMargin = Application.InchesToPoints(0.4921259845)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.PrintQuality = 600
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
.PrintErrors = xlPrintErrorsDisplayed
End With
ActiveWindow.SelectedSheets.PrintPreview
Sheets("Juil").Select
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.787401575)
.RightMargin = Application.InchesToPoints(0.787401575)
.TopMargin = Application.InchesToPoints(0.984251969)
.BottomMargin = Application.InchesToPoints(0.984251969)
.HeaderMargin = Application.InchesToPoints(0.4921259845)
.FooterMargin = Application.InchesToPoints(0.4921259845)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.PrintQuality = 600
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
.PrintErrors = xlPrintErrorsDisplayed
End With
ActiveWindow.SelectedSheets.PrintPreview
Sheets("Aout").Select
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.787401575)
.RightMargin = Application.InchesToPoints(0.787401575)
.TopMargin = Application.InchesToPoints(0.984251969)
.BottomMargin = Application.InchesToPoints(0.984251969)
.HeaderMargin = Application.InchesToPoints(0.4921259845)
.FooterMargin = Application.InchesToPoints(0.4921259845)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.PrintQuality = 600
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
.PrintErrors = xlPrintErrorsDisplayed
End With
ActiveWindow.SelectedSheets.PrintPreview
Sheets("Sept").Select
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.787401575)
.RightMargin = Application.InchesToPoints(0.787401575)
.TopMargin = Application.InchesToPoints(0.984251969)
.BottomMargin = Application.InchesToPoints(0.984251969)
.HeaderMargin = Application.InchesToPoints(0.4921259845)
.FooterMargin = Application.InchesToPoints(0.4921259845)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.PrintQuality = 600
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
.PrintErrors = xlPrintErrorsDisplayed
End With
ActiveWindow.SelectedSheets.PrintPreview
Sheets("Oct").Select
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.787401575)
.RightMargin = Application.InchesToPoints(0.787401575)
.TopMargin = Application.InchesToPoints(0.984251969)
.BottomMargin = Application.InchesToPoints(0.984251969)
.HeaderMargin = Application.InchesToPoints(0.4921259845)
.FooterMargin = Application.InchesToPoints(0.4921259845)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.PrintQuality = 600
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
.PrintErrors = xlPrintErrorsDisplayed
End With
ActiveWindow.SelectedSheets.PrintPreview
Sheets("Nov").Select
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.787401575)
.RightMargin = Application.InchesToPoints(0.787401575)
.TopMargin = Application.InchesToPoints(0.984251969)
.BottomMargin = Application.InchesToPoints(0.984251969)
.HeaderMargin = Application.InchesToPoints(0.4921259845)
.FooterMargin = Application.InchesToPoints(0.4921259845)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.PrintQuality = 600
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
.PrintErrors = xlPrintErrorsDisplayed
End With
ActiveWindow.SelectedSheets.PrintPreview
Sheets("Dec").Select
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.787401575)
.RightMargin = Application.InchesToPoints(0.787401575)
.TopMargin = Application.InchesToPoints(0.984251969)
.BottomMargin = Application.InchesToPoints(0.984251969)
.HeaderMargin = Application.InchesToPoints(0.4921259845)
.FooterMargin = Application.InchesToPoints(0.4921259845)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.PrintQuality = 600
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
.PrintErrors = xlPrintErrorsDisplayed
End With
ActiveWindow.SelectedSheets.PrintPreview
Sheets(Array("Janv", "Fev", "Mars", "Avr", "Mai", "Juin", "Juil", "Aout", "Sept", "Oct", _
"Nov", "Dec")).Select
Sheets("Janv").Activate
Application.ActivePrinter = "PDFWriter sur Ne01:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"PDFWriter sur Ne01:", Collate:=True
End SubDans mon cas, je dois imprimer en PDF, je choisis donc comme activePrinter "PDF writer sur Neo1" qui est mon enregistreur en format PDF... a voir comment le tien fonctionne.
La macro fonctionne correctement hormis le fait de fermer manuellement les aperçus avant impression... je vais eesayer de faire en sorte de ne pas avoir à le faire....
Souri84
AH mince, je suis au travail, c'est bloqué j'avais oublié, je le renveré se soir Désolé,
Mon bouton ouvre un formulaire avec 12cases à cocher (1 pour chaque mois) , et voici mon code si ca peut aidé :
Private Sub CommandButton1_Click()
Dim tablo(), Mois As Variant, i As Integer, k As Integer
Dim Ctrl As Control, feuilles As Variant
ReDim tablo(0)
k = 0
Mois = Array("", "janvier", "fevrier", "mars", "avril", "mai", "juin", "juillet", "aout", "septembre", "octobre", "novembre", "decembre")
feuilles = Array("", "Janv", "Fev", "Mars", "Avr", "Mai", "Juin", "Juil", "Aout", "Sept", "Oct", "Nov", "Dec")
For i = 1 To 12
If Me.Controls("enr_" & Mois(i)) Then
ReDim Preserve tablo(k)
tablo(k) = feuilles(i)
k = k + 1
End If
Next
Sheets(tablo).Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"PDFCreator sur Ne00:", Collate:=True
DoEvents
Unload Me
End Sub- Messages
- 1'036
- Excel
- 2003 FR / 2007 UK
- Inscrit
- 07/05/2007
- Emploi
- Consultant en finance
V_Elbie a raison, la macro est manquante mais il doit y avoir également des erreurs dans ton fichier, je n'ai pas réussi à l'enregistrer et il m'a mis les 2 fois où je l'ai ouvert qu'Excel désactivait la récupération automatique et que certains éléments ne pourront pas être gardés....
Souri84
Je posterais d'ici 2h de chez moi le fichier, il ne devrais pas être bloqué.
Ton code est vraiment trés long, il faut tout ca pour dire que le fichier doit être en paysage? Je pensé que juste une ligne sufirait comme l'a suggéré v_elbi, sauf que ca ne me change rien.
- Messages
- 1'036
- Excel
- 2003 FR / 2007 UK
- Inscrit
- 07/05/2007
- Emploi
- Consultant en finance
Tu sais, le code est peut être long, mais comme c'est avec l'enregistreur de macros, tu ne t'en rend pas réellement compte. De plus, que ton code fasse une ligne ou 100, le poids du fichier est toujours le même (je n'ai jamais remarqué que le poids d'un fichier s'allourdissaient avec la longueur d'une macro...).... par contre, la macro est un peu plus longue à éxecuter...
Salut le forum
Souri84, je crois que c'est la première fois que je vois une macro aussi longue.
Mytå
P.S. L'enregistreur de macro fait presque tout mais faut optimiser après
Bjr, je n'est plus internet chez moi, donc je peux me connecté uniquement de mon bureau, donc je ne peux pas renvoyé mon fichier
J'ai deja essayé l'enregistreur de macro poru trouvé le code du format paysage, mais il ne me la pas donner. Le code est beaucoup trop long pour moi d'autan plus que j'ai deja tout mon code écrit adapté a ce que je veux faire, il ne me manque qu'un sul parametre.
Peut importe le nombre de page, il suffi de faire un bouton et de mettre :
Application.ActivePrinter = "PDFCreator sur Ne00:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"PDFCreator sur Ne00:", Collate:=TruePeut etre le nom de l'imprimante qui change, et PDF creator. Voila, je pense pas que je puisse donné plus d'info pour m'aidé avec les moyens dont je dispose. Si?
Salut le forum
A tester sur ton fichier
Sub Impression_Paysage()
Dim Page
For Each Page In ActiveWindow.SelectedSheets
With ActiveSheet
.PageSetup.Orientation = xlLandscape
.PrintOut Copies:=1, ActivePrinter:="PDFCreator sur Ne00:", Collate:=True
End With
Next Page
End SubMytå
Je sais pas trop se que j'ai fait, a force de tout toucher ca marche lol
La bidouille on comprend pas mais le resultat est la. Merci a tous.