VBA saut de page
Résolu
juer31
Messages postés
120
Statut
Membre
-
Patrice33740 Messages postés 8400 Date d'inscription Statut Membre Dernière intervention -
Patrice33740 Messages postés 8400 Date d'inscription Statut Membre Dernière intervention -
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- bonjour, 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
-