HPageBreaks : erreur 1004

tedtheOrs Messages postés 37 Date d'inscription samedi 12 avril 2008 Statut Membre Dernière intervention 27 janvier 2010 - 20 mai 2008 à 17:28
tedtheOrs Messages postés 37 Date d'inscription samedi 12 avril 2008 Statut Membre Dernière intervention 27 janvier 2010 - 20 mai 2008 à 19:29
Bonjour,


J'ai un problème avec le code suivant, dont le but est entre autres, d'insérer des sauts de pages:

<!-- BEGIN TEMPLATE: bbcode_code -->

Code :
<!--[if !IE]><--><!----><!--[endif]--><!--[if IE]>
<![endif]-->ActiveSheet.ResetAllPageBreaks

Dim intColMinN3 As Integer, intColMaxN3 As Integer
Dim intLinMinN3 As Integer, intLinMaxN3 As Integer
Dim lastcolN3 As Long
Dim lastrowN3 As Long
Dim lastrowN3mid As Long

' Reglages des Sauts de Pages
ActiveWindow.SelectedSheets.VPageBreaks.Add Before:=Range("O:O")
''

' En-tête
With ActiveSheet.PageSetup
.PrintTitleRows = "$1:$3"
.PrintTitleColumns = ""
End With
''

'Définition de la zone d'impressionn
' Recherche de la derniere ligne et dernière colonne
lastrowN3 = Range("B4").End(xlDown).Row
lastcolN3 = Selection.CurrentRegion.End(xlToRight).Column

intColMinN3 = 1
intColMaxN3 = lastcolN3
intLinMinN3 = 1
intLinMaxN3 = lastrowN3
' Reglages de la zone d'impression
ActiveSheet.PageSetup.PrintArea = Range(Cells(intLinMinN3, intColMinN3), Cells(intLinMaxN3, intColMaxN3)).Address

lastrowN3mid = lastrowN3 / 2
Set ActiveSheet.HPageBreaks(1).Location = Range("A" & lastrowN3mid)

<!-- END TEMPLATE: bbcode_code -->J'ai une erreur 1004 sur la dernière ligne et j'avoue que je sèche completement!


d'avance merci!


@+


ted

4 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
20 mai 2008 à 17:38
salut,

jamais utilisé, mais au début tu fais un Add pour ton PageBreak Vertical, là ok, mais ensuite, sans en ajouter, tu fais un Set de ton
PageBreak Horizontal alors qu'il n'est pas ajouté a la feuille...

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
20 mai 2008 à 17:42
Salut
Essaye aussi cette syntaxe : ... ("A" & CStr(lastrowN3mid))
parce que l'insertion d'une variable de type numérique dans une chaine ajoute un espace devant le chiffre (place de l'éventuel signe)

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
20 mai 2008 à 17:46
salut Jack,

je pense pas que ce soit utile, sa variable contien bien une valeur numérique.
L'erreur est lié à l'indice de son HPageBreaks

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
tedtheOrs Messages postés 37 Date d'inscription samedi 12 avril 2008 Statut Membre Dernière intervention 27 janvier 2010
20 mai 2008 à 19:29
Bon, j'avais le problème sur Office 2003 (au boulot) et chez moi (Office 2007), j'ai changé la ligne en gras par
ActiveSheet.HPageBreaks.Add Before:=Range("A" & lastrowN3mid)

Et ca marche!

Merci à tous!

@+

ted
Rejoignez-nous