OVH Cloud OVH Cloud

Numéro de page

7 réponses
Avatar
Christophe
Bonjour,

Comment faire pour qu'une cellule affiche le numéro de page sur laquelle
elle sera imprimée ?
Merci d'avance
Christophe

7 réponses

Avatar
ChrisV
Bonjour Christophe,

Une fonction de LL modifiée par Frédéric S.

Function NumPage() As Integer
Dim VPC As Integer, HPC As Integer
Dim VPB As VPageBreak, HPB As HPageBreak
Dim Wksht As Worksheet, Cellule As Range
Dim Col As Integer, Ligne As Long
Application.Volatile
Set Cellule = Application.Caller
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
NumPage = 1
For Each VPB In Wksht.VPageBreaks
If VPB.Location.Column > Col Then Exit For
NumPage = NumPage + HPC
Next VPB
For Each HPB In Wksht.HPageBreaks
If HPB.Location.Row > Ligne Then Exit For
NumPage = NumPage + VPC
Next HPB
End Function


ChrisV


"Christophe" a écrit dans le message de
news:
Bonjour,

Comment faire pour qu'une cellule affiche le numéro de page sur laquelle
elle sera imprimée ?
Merci d'avance
Christophe




Avatar
Christophe
Ouppssss... effectivement je croyais avoir répondu via MPFE, je m'aperçois
que j'ai fait une fausse manoeuvre... désolé.
Et merci pour la réponse rapide.
Bon j'ai essayé de faire ce que tu disais, mais manifestement il y a un
grain de sable quelque part : lorsque je vas chercher la fonction, la boite
"arguments de la fonction" qui s'affiche me dit notamment que la fonction ne
possède pas d'arguments, et elle ne m'offre pas la possibilité d'en
introduire...
Dans la barre de fonction, quelque soit la cellule que je rentre dans la
formule, le résultat obtenu est toujours #VALEUR...
Sinon, je suis effectivement intéréssé de savoir comment rendre la fonction
dispo pour tous les classeurs...
En m'excusant à nouveu de ne pas être passé par MPFE, merci d'avance...

Christophe


"ChrisV" a écrit dans le message de
news:
Bonjour Christophe,

Une fonction de LL modifiée par Frédéric S.

Function NumPage() As Integer
Dim VPC As Integer, HPC As Integer
Dim VPB As VPageBreak, HPB As HPageBreak
Dim Wksht As Worksheet, Cellule As Range
Dim Col As Integer, Ligne As Long
Application.Volatile
Set Cellule = Application.Caller
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
NumPage = 1
For Each VPB In Wksht.VPageBreaks
If VPB.Location.Column > Col Then Exit For
NumPage = NumPage + HPC
Next VPB
For Each HPB In Wksht.HPageBreaks
If HPB.Location.Row > Ligne Then Exit For
NumPage = NumPage + VPC
Next HPB
End Function


ChrisV


"Christophe" a écrit dans le message de
news:
Bonjour,

Comment faire pour qu'une cellule affiche le numéro de page sur laquelle
elle sera imprimée ?
Merci d'avance
Christophe








Avatar
ChrisV
Re,

Essaie comme cela...

Function NumPage(aC As Range) As Integer
Dim VPC As Integer, HPC As Integer
Dim VPB As VPageBreak, HPB As HPageBreak
Dim Wksht As Worksheet, cellule As Range
Dim Col As Integer, Ligne As Long
Application.Volatile
Set cellule = Application.Caller
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
NumPage = 1
For Each VPB In Wksht.VPageBreaks
If VPB.Location.Column > Col Then Exit For
NumPage = NumPage + HPC
Next VPB
For Each HPB In Wksht.HPageBreaks
If HPB.Location.Row > Ligne Then Exit For
NumPage = NumPage + VPC
Next HPB
End Function


ChrisV


"Christophe" a écrit dans le message de
news:
Ouppssss... effectivement je croyais avoir répondu via MPFE, je m'aperçois
que j'ai fait une fausse manoeuvre... désolé.
Et merci pour la réponse rapide.
Bon j'ai essayé de faire ce que tu disais, mais manifestement il y a un
grain de sable quelque part : lorsque je vas chercher la fonction, la
boite

"arguments de la fonction" qui s'affiche me dit notamment que la fonction
ne

possède pas d'arguments, et elle ne m'offre pas la possibilité d'en
introduire...
Dans la barre de fonction, quelque soit la cellule que je rentre dans la
formule, le résultat obtenu est toujours #VALEUR...
Sinon, je suis effectivement intéréssé de savoir comment rendre la
fonction

dispo pour tous les classeurs...
En m'excusant à nouveu de ne pas être passé par MPFE, merci d'avance...

Christophe


"ChrisV" a écrit dans le message de
news:
Bonjour Christophe,

Une fonction de LL modifiée par Frédéric S.

Function NumPage() As Integer
Dim VPC As Integer, HPC As Integer
Dim VPB As VPageBreak, HPB As HPageBreak
Dim Wksht As Worksheet, Cellule As Range
Dim Col As Integer, Ligne As Long
Application.Volatile
Set Cellule = Application.Caller
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
NumPage = 1
For Each VPB In Wksht.VPageBreaks
If VPB.Location.Column > Col Then Exit For
NumPage = NumPage + HPC
Next VPB
For Each HPB In Wksht.HPageBreaks
If HPB.Location.Row > Ligne Then Exit For
NumPage = NumPage + VPC
Next HPB
End Function


ChrisV


"Christophe" a écrit dans le message de
news:
Bonjour,

Comment faire pour qu'une cellule affiche le numéro de page sur
laquelle



elle sera imprimée ?
Merci d'avance
Christophe












Avatar
Christophe
Merci de ta réponse.
A présent, l'introduction de l'argument ne pose plus de problème, mais il
n'a toujours pas d'autre résultat affiché que #VALEUR...
Ce que tu as rajouté dans le texte de la fonction, "aC", n'apparaît qu'au
début, il ne figure nulle part ailleurs dans le développement de la
fonction, qui n'a d'ailleurs apparemment pas changé depuis ta première
proposition, est-ce normal ?
Ne doit-il pas y avoir un endroit où l'on précise comment aC doit être
utilisé ?


"ChrisV" a écrit dans le message de
news:OuLR$
Re,

Essaie comme cela...

Function NumPage(aC As Range) As Integer
Dim VPC As Integer, HPC As Integer
Dim VPB As VPageBreak, HPB As HPageBreak
Dim Wksht As Worksheet, cellule As Range
Dim Col As Integer, Ligne As Long
Application.Volatile
Set cellule = Application.Caller
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
NumPage = 1
For Each VPB In Wksht.VPageBreaks
If VPB.Location.Column > Col Then Exit For
NumPage = NumPage + HPC
Next VPB
For Each HPB In Wksht.HPageBreaks
If HPB.Location.Row > Ligne Then Exit For
NumPage = NumPage + VPC
Next HPB
End Function


ChrisV


"Christophe" a écrit dans le message de
news:
Ouppssss... effectivement je croyais avoir répondu via MPFE, je
m'aperçois


que j'ai fait une fausse manoeuvre... désolé.
Et merci pour la réponse rapide.
Bon j'ai essayé de faire ce que tu disais, mais manifestement il y a un
grain de sable quelque part : lorsque je vas chercher la fonction, la
boite

"arguments de la fonction" qui s'affiche me dit notamment que la
fonction


ne
possède pas d'arguments, et elle ne m'offre pas la possibilité d'en
introduire...
Dans la barre de fonction, quelque soit la cellule que je rentre dans la
formule, le résultat obtenu est toujours #VALEUR...
Sinon, je suis effectivement intéréssé de savoir comment rendre la
fonction

dispo pour tous les classeurs...
En m'excusant à nouveu de ne pas être passé par MPFE, merci d'avance...

Christophe


"ChrisV" a écrit dans le message de
news:
Bonjour Christophe,

Une fonction de LL modifiée par Frédéric S.

Function NumPage() As Integer
Dim VPC As Integer, HPC As Integer
Dim VPB As VPageBreak, HPB As HPageBreak
Dim Wksht As Worksheet, Cellule As Range
Dim Col As Integer, Ligne As Long
Application.Volatile
Set Cellule = Application.Caller
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
NumPage = 1
For Each VPB In Wksht.VPageBreaks
If VPB.Location.Column > Col Then Exit For
NumPage = NumPage + HPC
Next VPB
For Each HPB In Wksht.HPageBreaks
If HPB.Location.Row > Ligne Then Exit For
NumPage = NumPage + VPC
Next HPB
End Function


ChrisV


"Christophe" a écrit dans le message
de



news:
Bonjour,

Comment faire pour qu'une cellule affiche le numéro de page sur
laquelle



elle sera imprimée ?
Merci d'avance
Christophe
















Avatar
RaMa
bonsoir
Merci chrisv de la réponse et christophe de la question

=numpage(a22) marche trés bien

RaMa

--
RaMa
"ChrisV" a écrit dans le message de
news:OuLR$
Re,

Essaie comme cela...

Function NumPage(aC As Range) As Integer
Dim VPC As Integer, HPC As Integer
Dim VPB As VPageBreak, HPB As HPageBreak
Dim Wksht As Worksheet, cellule As Range
Dim Col As Integer, Ligne As Long
Application.Volatile
Set cellule = Application.Caller
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
NumPage = 1
For Each VPB In Wksht.VPageBreaks
If VPB.Location.Column > Col Then Exit For
NumPage = NumPage + HPC
Next VPB
For Each HPB In Wksht.HPageBreaks
If HPB.Location.Row > Ligne Then Exit For
NumPage = NumPage + VPC
Next HPB
End Function


ChrisV


"Christophe" a écrit dans le message de
news:
Ouppssss... effectivement je croyais avoir répondu via MPFE, je
m'aperçois


que j'ai fait une fausse manoeuvre... désolé.
Et merci pour la réponse rapide.
Bon j'ai essayé de faire ce que tu disais, mais manifestement il y a un
grain de sable quelque part : lorsque je vas chercher la fonction, la
boite

"arguments de la fonction" qui s'affiche me dit notamment que la
fonction


ne
possède pas d'arguments, et elle ne m'offre pas la possibilité d'en
introduire...
Dans la barre de fonction, quelque soit la cellule que je rentre dans la
formule, le résultat obtenu est toujours #VALEUR...
Sinon, je suis effectivement intéréssé de savoir comment rendre la
fonction

dispo pour tous les classeurs...
En m'excusant à nouveu de ne pas être passé par MPFE, merci d'avance...

Christophe


"ChrisV" a écrit dans le message de
news:
Bonjour Christophe,

Une fonction de LL modifiée par Frédéric S.

Function NumPage() As Integer
Dim VPC As Integer, HPC As Integer
Dim VPB As VPageBreak, HPB As HPageBreak
Dim Wksht As Worksheet, Cellule As Range
Dim Col As Integer, Ligne As Long
Application.Volatile
Set Cellule = Application.Caller
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
NumPage = 1
For Each VPB In Wksht.VPageBreaks
If VPB.Location.Column > Col Then Exit For
NumPage = NumPage + HPC
Next VPB
For Each HPB In Wksht.HPageBreaks
If HPB.Location.Row > Ligne Then Exit For
NumPage = NumPage + VPC
Next HPB
End Function


ChrisV


"Christophe" a écrit dans le message
de



news:
Bonjour,

Comment faire pour qu'une cellule affiche le numéro de page sur
laquelle



elle sera imprimée ?
Merci d'avance
Christophe
















Avatar
ChrisV
Re,

Tu peux m'envoyer ton fichier en bal perso...?


ChrisV


"Christophe" a écrit dans le message de
news:
Merci de ta réponse.
A présent, l'introduction de l'argument ne pose plus de problème, mais il
n'a toujours pas d'autre résultat affiché que #VALEUR...
Ce que tu as rajouté dans le texte de la fonction, "aC", n'apparaît qu'au
début, il ne figure nulle part ailleurs dans le développement de la
fonction, qui n'a d'ailleurs apparemment pas changé depuis ta première
proposition, est-ce normal ?
Ne doit-il pas y avoir un endroit où l'on précise comment aC doit être
utilisé ?


Avatar
Christophe
Okay, je viens d'essayer dans d'autre classeurs, et ça fonctionne
impeccable, allez savoir pourquoi...
merci ChrisV
Christophe

"RaMa" a écrit dans le message de
news:
bonsoir
Merci chrisv de la réponse et christophe de la question

=numpage(a22) marche trés bien

RaMa

--
RaMa
"ChrisV" a écrit dans le message de
news:OuLR$
Re,

Essaie comme cela...

Function NumPage(aC As Range) As Integer
Dim VPC As Integer, HPC As Integer
Dim VPB As VPageBreak, HPB As HPageBreak
Dim Wksht As Worksheet, cellule As Range
Dim Col As Integer, Ligne As Long
Application.Volatile
Set cellule = Application.Caller
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
NumPage = 1
For Each VPB In Wksht.VPageBreaks
If VPB.Location.Column > Col Then Exit For
NumPage = NumPage + HPC
Next VPB
For Each HPB In Wksht.HPageBreaks
If HPB.Location.Row > Ligne Then Exit For
NumPage = NumPage + VPC
Next HPB
End Function


ChrisV


"Christophe" a écrit dans le message de
news:
Ouppssss... effectivement je croyais avoir répondu via MPFE, je
m'aperçois


que j'ai fait une fausse manoeuvre... désolé.
Et merci pour la réponse rapide.
Bon j'ai essayé de faire ce que tu disais, mais manifestement il y a
un



grain de sable quelque part : lorsque je vas chercher la fonction, la
boite

"arguments de la fonction" qui s'affiche me dit notamment que la
fonction


ne
possède pas d'arguments, et elle ne m'offre pas la possibilité d'en
introduire...
Dans la barre de fonction, quelque soit la cellule que je rentre dans
la



formule, le résultat obtenu est toujours #VALEUR...
Sinon, je suis effectivement intéréssé de savoir comment rendre la
fonction

dispo pour tous les classeurs...
En m'excusant à nouveu de ne pas être passé par MPFE, merci
d'avance...




Christophe


"ChrisV" a écrit dans le message de
news:
Bonjour Christophe,

Une fonction de LL modifiée par Frédéric S.

Function NumPage() As Integer
Dim VPC As Integer, HPC As Integer
Dim VPB As VPageBreak, HPB As HPageBreak
Dim Wksht As Worksheet, Cellule As Range
Dim Col As Integer, Ligne As Long
Application.Volatile
Set Cellule = Application.Caller
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
NumPage = 1
For Each VPB In Wksht.VPageBreaks
If VPB.Location.Column > Col Then Exit For
NumPage = NumPage + HPC
Next VPB
For Each HPB In Wksht.HPageBreaks
If HPB.Location.Row > Ligne Then Exit For
NumPage = NumPage + VPC
Next HPB
End Function


ChrisV


"Christophe" a écrit dans le message
de



news:
Bonjour,

Comment faire pour qu'une cellule affiche le numéro de page sur
laquelle



elle sera imprimée ?
Merci d'avance
Christophe