VBA saut de page
Résolu
Bonjour,
J'ai déjà un code qui effectue divers opération sur une de mes feuille. et j'aimerai que lorsque la ligne 25 de ma feuille est hidden =true qu'un saut de page s'ajoute sur la ligne 26.
Je n'y arrive pas est-ce que quelqu'un peux m'aider?
Merci
J'ai déjà un code qui effectue divers opération sur une de mes feuille. et j'aimerai que lorsque la ligne 25 de ma feuille est hidden =true qu'un saut de page s'ajoute sur la ligne 26.
Je n'y arrive pas est-ce que quelqu'un peux m'aider?
Merci
1 réponse
-
Bonjour,
Activesheet.HPageBreaks.Add before:=Activesheet.Cells(26, 1)
-
-
Bonjour,
Curieusement, on ne peut donc pas faire :Dim hbk As HPageBreak Set hbk = ActiveSheet.HPageBreaks.Add(before:=ActiveSheet.Cells(26, 1)) ' et en fin de code hbk.Delete
On ne peut pas définir un objet pour un saut de page particulier !
De plus, il existe toujours un saut de page non défini, ce qui génère une erreur lorsqu'on explore tous les sauts de page, voici donc un code à ajouter en fin de code (tu peux mettre le Dim au début) :Dim hbk As HPageBreak On Error Resume Next For Each hbk In ActiveSheet.HPageBreaks If hbk.Location.Address = ActiveSheet.Cells(26, 1).Address Then hbk.Delete End If Next hbk On Error GoTo 0
On pourrait aussi boucler jusqu'au pénultième saut de page mais ça me plait beaucoup moins :Dim i as Integer With ActiveSheet For i = 1 To .HPageBreaks.Count - 1 If .HPageBreaks(i).Location.Address = .Cells(26, 1).Address Then .HPageBreaks(i).Delete End If Next i End With -
Contributeur Ambassadeur@Patrice33740bonjour, chez moi, Office 2016, ActiveSheet.HPageBreaks.Count reste 0, et le for each ne fais aucune itération.
peut-être ceci:
https://docs.microsoft.com/fr-fr/office/vba/api/excel.worksheet.resetallpagebreaks -
@yg_beBonjour yg_be,
Chez moi avec 2016, ça fonctionne bien (il faut que la feuille contienne des valeurs à imprimer)
-