[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
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 !