VBA: suppression des sauts de page et impression

beniboy

XLDnaute Nouveau
bonjour,

je suis entrain de définir plusieurs zone d impression sur mon classeur au sein d 'un meme onglet.
mon probleme est que quand je selectionne ma zone d impression, j'ai automatiquement des sauts de page. je souhaiterai les enlever tous.
quand je le fais manuellement, cela marche mais impossible de l integrer à la macro.

j ai fait plusieurs tentatives avec ResetAllPageBreaks, HPageBreaks(3).Delete et les verticaux mais ne passe. j'ai toujours l erreur 1004.

le but est qu'une fois la macro écrite, je fasse un copier/coller de cette dernière sur plusieurs classeurs.

merci pour le coup de main.

Code:
Private Sub CommandButton1_Click()
Application.ActivePrinter = "\\LESCHEVALIERS\HP Officejet Pro 8600 sur Ne05:" 'choix de l imprimante
With ActiveSheet.PageSetup
        .LeftHeader = "Fichier: " & "&F" & Chr(10) & "Onglet: " & "&A" 'contenu en tete gauche
        .RightHeader = "&D - &T" 'contenu en tete droite
End With
'Impression de la 1ère page en paysage
'--------------------------------------
Range("A1:J37").Select 'définition de la plage de cellules constituant la 1ère page
ActiveSheet.PageSetup.PrintArea = "$A$1:$J$37" 'définition de la zone d'impression
'Worksheets(1).ResetAllPageBreaks
ActiveSheet.PageSetup.Orientation = xlLandscape 'mise au format paysage
ActiveSheet.PageSetup.CenterHorizontally = True 'centrage horizontal de la feuille
'ActiveWindow.ResetAllPageBreaks
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True 'impression
Range("A1").Select
End Sub
 
C

Compte Supprimé 979

Guest
Re : VBA: suppression des sauts de page et impression

Bonsoir Beniboy

Certainement comme ça ;)
VB:
Private Sub CommandButton1_Click()
  Application.ActivePrinter = "\\LESCHEVALIERS\HP Officejet Pro 8600 sur Ne05:"  'choix de l imprimante
  With ActiveSheet.PageSetup
    .LeftHeader = "Fichier: " & "&F" & Chr(10) & "Onglet: " & "&A"  'contenu en tete gauche
    .RightHeader = "&D - &T"  'contenu en tete droite
  End With
  'Impression de la 1ère page en paysage
  '--------------------------------------
  ActiveSheet.PageSetup.PrintArea = "$A$1:$J$37"  'définition de la zone d'impression
  ActiveSheet.PageSetup.Orientation = xlLandscape  'mise au format paysage
  ActiveSheet.PageSetup.CenterHorizontally = True  'centrage horizontal de la feuille
  ActiveSheet.ResetAllPageBreaks
  ActiveSheet.PrintOut Copies:=1, Collate:=True  'impression
  Range("A1").Select
End Sub

A+
 

beniboy

XLDnaute Nouveau
Re : VBA: suppression des sauts de page et impression

merci pour la réponse mais malheureusement cela ne marche pas.
j avais essaye qqc de similaire mais aucun succès.
si j enleve manuellement les sauts de page, cela passe sans probleme.
mon fichier est sauvegardé en .xlsm mais je ne pense pas que cela soit un probleme.

je te joins un extrait de mon fichier pour que tu puisses reproduite le probleme.

merci
 

Pièces jointes

  • BrunoM45.xls
    92 KB · Affichages: 56
  • BrunoM45.xls
    92 KB · Affichages: 60
  • BrunoM45.xls
    92 KB · Affichages: 57
C

Compte Supprimé 979

Guest
Re : VBA: suppression des sauts de page et impression

Re,

Effectivement si tu veux imprimer une page qui ne tient pas sur un A4 sans ajuster son format,
comment veux tu que ce soit possible !?

Voici ton fichier modifié (avec le code), avec en prime un joli petit bouton ;)

A+
 

Pièces jointes

  • Beniboy_SautDePage.xlsm
    91 KB · Affichages: 84

beniboy

XLDnaute Nouveau
Re : VBA: suppression des sauts de page et impression

merci BrunoM45 pour le fichier, c'est ce dont j avais besoin. :D

j ai ajouté 1 ou 2 trucs avec le zoom notamment qui est top tout en gardant le bouton qui est bien sympa !! Voila le code:

Code:
Option Explicit
Sub tableauimpression()
Application.ActivePrinter = "\\LESCHEVALIERS\HP Officejet Pro 8600 sur Ne05:" 'choix de l imprimante
    With ActiveSheet.PageSetup
        .LeftHeader = "Fichier: " & "&F" & Chr(10) & "Onglet: " & "&A" 'contenu en tete gauche
        .RightHeader = "&D - &T" 'contenu en tete droite
        .FitToPagesWide = 1
        .FitToPagesTall = 1
        .PaperSize = xlPaperA4
        .LeftMargin = Application.InchesToPoints(0.2)
        .RightMargin = Application.InchesToPoints(0.2)
        .TopMargin = Application.InchesToPoints(0.2)
        .BottomMargin = Application.InchesToPoints(0.2)
        .HeaderMargin = Application.InchesToPoints(0.1)
        .FooterMargin = Application.InchesToPoints(0.1)
        .BlackAndWhite = False
        .CenterVertically = True
        .CenterHorizontally = True
    End With

'Impression de la 1ère page en paysage
'--------------------------------------
    With ActiveSheet.PageSetup
        .PrintArea = "$A$1:$J$37"
        .Orientation = xlLandscape
        .Zoom = 80
    End With
ActiveSheet.PrintOut Copies:=1, Collate:=True 'impression
Range("A1").Select
End Sub

merci pour l'aide très précieuse.
a+
 

Discussions similaires

Statistiques des forums

Discussions
312 279
Messages
2 086 728
Membres
103 380
dernier inscrit
prolofief