OVH Cloud OVH Cloud

Formule numero page

2 réponses
Avatar
Archimède
Bonjour.
Quelqu'un connait-il une fonction ou une formule qui, dans une cellule,
donne le numéro de page de la feuille où se trouve cette cellule?
Merci d'avance.

2 réponses

Avatar
michdenis
Bonjour Archimède,

voici une fonction de Laurent Longre qui détermine à quelle page appartient une cellule :

'-------------------------------------
Function NUMPAGE(Cellule As Range) As Integer
' LL4Plumes
Dim VPC As Integer, HPC As Integer
Dim VPB As VPageBreak, HPB As HPageBreak
Dim Ligne As Long, Col As Integer
With Cellule.Worksheet
If .PageSetup.Order = xlDownThenOver Then
HPC = .HPageBreaks.Count + 1
VPC = 1
Else
VPC = .VPageBreaks.Count + 1
HPC = 1
End If
NUMPAGE = 1
Col = Cellule.Column
For Each VPB In .VPageBreaks
If VPB.Location.Column > Col Then Exit For
NUMPAGE = NUMPAGE + HPC
Next VPB
Ligne = Cellule.Row
For Each HPB In .HPageBreaks
If HPB.Location.Row > Ligne Then Exit For
NUMPAGE = NUMPAGE + VPC
Next HPB
End With
End Function
'-------------------------------------


Salutations!



"Archimède" a écrit dans le message de news:

Bonjour.
Quelqu'un connait-il une fonction ou une formule qui, dans une cellule,
donne le numéro de page de la feuille où se trouve cette cellule?
Merci d'avance.
Avatar
Archimède
Merci Michdenis.
Tu es vraiment très au point.
Je ne suis pas très calé en "fonctions".
Je vais m'y mettre et essayer de mettre en route ta solution.
Mon but final étant de faire un sommaire.
Bonne soirée.
Cordialement.
Archimede.


Bonjour Archimède,

voici une fonction de Laurent Longre qui détermine à quelle page appartient une cellule :

'-------------------------------------
Function NUMPAGE(Cellule As Range) As Integer
' LL4Plumes
Dim VPC As Integer, HPC As Integer
Dim VPB As VPageBreak, HPB As HPageBreak
Dim Ligne As Long, Col As Integer
With Cellule.Worksheet
If .PageSetup.Order = xlDownThenOver Then
HPC = .HPageBreaks.Count + 1
VPC = 1
Else
VPC = .VPageBreaks.Count + 1
HPC = 1
End If
NUMPAGE = 1
Col = Cellule.Column
For Each VPB In .VPageBreaks
If VPB.Location.Column > Col Then Exit For
NUMPAGE = NUMPAGE + HPC
Next VPB
Ligne = Cellule.Row
For Each HPB In .HPageBreaks
If HPB.Location.Row > Ligne Then Exit For
NUMPAGE = NUMPAGE + VPC
Next HPB
End With
End Function
'-------------------------------------


Salutations!



"Archimède" a écrit dans le message de news:

Bonjour.
Quelqu'un connait-il une fonction ou une formule qui, dans une cellule,
donne le numéro de page de la feuille où se trouve cette cellule?
Merci d'avance.