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

1 réponse

  1. Bonjour,

    Activesheet.HPageBreaks.Add before:=Activesheet.Cells(26, 1) 

    0
    1. Merci ça fonctionne #1. mais si je veux supprimer le saut de page à la fin de mon code?
      0
    2. 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
      0
    3. @yg_beBonjour yg_be,

      Chez moi avec 2016, ça fonctionne bien (il faut que la feuille contienne des valeurs à imprimer)
      0