[VBA] Supprimer un saut de page

Supprimer un saut de page [VBA] - VB/VBA/VBS - Programmation

Marsh Posté le 25-08-2008 à 14:26:37    

:hello:  
 
J'ai un souci avec une macro.
Dans un premier temps, ma macro insère des sauts de page à des endroits précis de ma feuille Excel grâce à ce code :
 

Code :
  1. ActiveCell.EntireRow.Select
  2. ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=ActiveCell


 
Cela marche parfaitement... par contre, à la fin de la macro, je dois enlever les sauts de page insérés... et je n'y arrive pas... ou presque.
Le premier saut de page est bien supprimé... par contre, lorsque la macro arrive au second saut de page, j'ai l'"Erreur d'exécution 9 - L'indice n'appartient pas à la sélection".
 
Voici le code utilisé :
 

Code :
  1. ActiveCell.EntireRow.Select
  2. ActiveSheet.HPageBreaks(3).Delete


 
Je pense que c'est le chiffre "3" qui bloque...
 
Quelqu'un peut m'aider ?
 
Merci d'avance.
 

Reply

Marsh Posté le 25-08-2008 à 14:26:37   

Reply

Marsh Posté le 25-08-2008 à 14:48:58    

Peut-être faut-il écrire :
 
ActiveSheet.HPageBreaks.Delete Before:=ActiveCell
 
pour contourner ce chiffre 3

Reply

Marsh Posté le 25-08-2008 à 15:26:47    

nfm a écrit :

Peut-être faut-il écrire :
 
ActiveSheet.HPageBreaks.Delete Before:=ActiveCell
 
pour contourner ce chiffre 3


 
Finalement, j'utilise la ligne suivante qui supprime tout d'un coup...  :p  
Et ensuite, je refais une mise en page... la zone d'impression étant conservée.
 

Code :
  1. ActiveSheet.ResetAllPageBreaks
  2. With ActiveSheet.PageSetup
  3.         .PrintTitleRows = "$1:$8"
  4.         .PrintTitleColumns = ""
  5.         .LeftHeader = ""
  6.         .CenterHeader = ""
  7.         .RightHeader = ""
  8.         .LeftFooter = ""
  9.         .CenterFooter = ""
  10.         .RightFooter = ""
  11.         .LeftMargin = Application.InchesToPoints(0.47244094488189)
  12.         .RightMargin = Application.InchesToPoints(0.236220472440945)
  13.         .TopMargin = Application.InchesToPoints(0.433070866141732)
  14.         .BottomMargin = Application.InchesToPoints(0.354330708661417)
  15.         .HeaderMargin = Application.InchesToPoints(0.15748031496063)
  16.         .FooterMargin = Application.InchesToPoints(0.511811023622047)
  17.         .PrintHeadings = False
  18.         .PrintGridlines = False
  19.         .PrintComments = xlPrintNoComments
  20.         .PrintQuality = 300
  21.         .CenterHorizontally = True
  22.         .CenterVertically = False
  23.         .Orientation = xlPortrait
  24.         .Draft = False
  25.         .PaperSize = xlPaperA4
  26.         .FirstPageNumber = xlAutomatic
  27.         .Order = xlDownThenOver
  28.         .BlackAndWhite = False
  29.         .Zoom = 70
  30.         .PrintErrors = xlPrintErrorsDisplayed
  31. End With


 
Et ça marche parfaitement...
 
;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed