[VBA] Connaitre le numéro de page

Bonjour le forum,

Je souhaiterai imprimer un document. Néanmoins dans un soucis d'esthétique je souhaiterai que certaines informations ne soient pas scindées sur deux pages.

De ce fait je souhaiterai savoir si vous connaissez un code permettant de connaitre le numéro de page d'une cellule.

Par exemple dans le fichier joint vous avez un tableau débutant en [A49] et se terminant en [A55]. Malheureusement ce tableau est scindé sur deux pages lors de l'impression.

Si j'avais le code me permettant de connaitre le numéro de page de la première cellule du tableau (Texte 1) et le numéro de page de la dernière cellule (Texte 7) je pourrai aisément créer une condition via IF (Si numéro de page de Texte 1 <> de numéro de page de texte 7 alors...)

Pourriez vous m'aider s'il vous plait ?

Merci beaucoup

77num-page.zip (9.27 Ko)

Salut Greg,

Ces codes, trouvés sur Internet, permettent de connaitre le numéro de page d'une cellule.

Sub numeroPage_Cellule_X()  

Application.ScreenUpdating = False
ActiveWindow.View = xlPageBreakPreview

MsgBox numeroPage(Range("B40"))

ActiveWindow.View = xlPageLayoutView
Application.ScreenUpdating = True

End Sub

Function numeroPage(Cellule As Range) As Integer

  Dim VPC As Integer, HPC As Integer
  Dim VPB As VPageBreak, HPB As HPageBreak
  Dim Wksht As Worksheet
  Dim Col As Integer, Ligne As Long

  Set Wksht = Cellule.Worksheet
  Ligne = Cellule.Row
  Col = Cellule.Column
  If Wksht.PageSetup.Order = xlDownThenOver Then
    HPC = Wksht.HPageBreaks.Count + 1
    VPC = 1
  Else
    VPC = Wksht.VPageBreaks.Count + 1
    HPC = 1
  End If
  numeroPage = 1
  For Each VPB In Wksht.VPageBreaks
    If VPB.Location.Column > Col Then Exit For
    numeroPage = numeroPage + HPC
  Next VPB
  For Each HPB In Wksht.HPageBreaks
    If HPB.Location.Row > Ligne Then Exit For
    numeroPage = numeroPage + VPC
  Next HPB

End Function

Mais je ne comprends pas pourquoi tu ne travaillerais pas plutôt avec des sauts de page ou des zones d'impression. Vu ton fichier minimaliste, c'est difficile d'en dire plus.

Cordialement.

Bonjour Yvouille,

Merci d'avoir pris de ton temps pour me répondre.

Je ne fais pas de saut de page ou des zones d'impressions car simplement la place que les informations prennent avec le tableau diverge...

Merci pour le code que tu as trouvé sur le net, celui ci fonctionne très bien !

Rechercher des sujets similaires à "vba connaitre numero page"