OVH Cloud OVH Cloud

Formule pour saut de page

4 réponses
Avatar
Benoit1024
bonjour,

existe t'il une formule pour connaitre le numéro de la page.

je voudrais, en fait, avec la mise en forme automatique, ajouter une ligne
aux cellules se trouvant en bas de page...

pas évidant ?! :( :?

4 réponses

Avatar
papou
Bonjour
Voivi une fonction personnalisée qui renvoie le numéro de page de la cellule
active.
Code à insérer dans un module standard.
Après, il y aura peut-être aussi une macro à construire pour ta mise en
page.

Cordialement
Pascal
'*** DEBUT ***
Function NumeroPageCellule()
Dim VPC As Integer, HPC As Integer
Dim VPB As VPageBreak, HPB As HPageBreak
Dim NumPage As Integer

If ActiveSheet.PageSetup.Order = xlDownThenOver Then
HPC = ActiveSheet.HPageBreaks.Count + 1
VPC = 1
Else
VPC = ActiveSheet.VPageBreaks.Count + 1
HPC = 1
End If
NumPage = 1
For Each VPB In ActiveSheet.VPageBreaks
If VPB.Location.Column > ActiveCell.Column Then Exit For
NumPage = NumPage + HPC
Next VPB
For Each HPB In ActiveSheet.HPageBreaks
If HPB.Location.Row > ActiveCell.Row Then Exit For
NumPage = NumPage + VPC
Next HPB
NumeroPageCellule = NumPage

End Function
'*** FIN ***



"Benoit1024" a écrit dans le message
de news:
bonjour,

existe t'il une formule pour connaitre le numéro de la page.

je voudrais, en fait, avec la mise en forme automatique, ajouter une ligne
aux cellules se trouvant en bas de page...

pas évidant ?! :( :?


Avatar
Benoit1024
merci beaucoup, je devrais pouvoir m'en sortir avec ça :D

je vais essayer tout de suite, merci beaucoup.


Bonjour
Voivi une fonction personnalisée qui renvoie le numéro de page de la cellule
active.
Code à insérer dans un module standard.
Après, il y aura peut-être aussi une macro à construire pour ta mise en
page.

Cordialement
Pascal
'*** DEBUT ***
Function NumeroPageCellule()
Dim VPC As Integer, HPC As Integer
Dim VPB As VPageBreak, HPB As HPageBreak
Dim NumPage As Integer

If ActiveSheet.PageSetup.Order = xlDownThenOver Then
HPC = ActiveSheet.HPageBreaks.Count + 1
VPC = 1
Else
VPC = ActiveSheet.VPageBreaks.Count + 1
HPC = 1
End If
NumPage = 1
For Each VPB In ActiveSheet.VPageBreaks
If VPB.Location.Column > ActiveCell.Column Then Exit For
NumPage = NumPage + HPC
Next VPB
For Each HPB In ActiveSheet.HPageBreaks
If HPB.Location.Row > ActiveCell.Row Then Exit For
NumPage = NumPage + VPC
Next HPB
NumeroPageCellule = NumPage

End Function
'*** FIN ***



"Benoit1024" a écrit dans le message
de news:
bonjour,

existe t'il une formule pour connaitre le numéro de la page.

je voudrais, en fait, avec la mise en forme automatique, ajouter une ligne
aux cellules se trouvant en bas de page...

pas évidant ?! :( :?







Avatar
Benoit1024
je n'arrive pas à la faire fonctionner.
j'ai copié le code dans la fenêtre module, mais quand j'utilise la formule,
cela ne fontionne pas. cela me ramène #VALEUR?
je ne dois pas procéder...


Bonjour
Voivi une fonction personnalisée qui renvoie le numéro de page de la cellule
active.
Code à insérer dans un module standard.
Après, il y aura peut-être aussi une macro à construire pour ta mise en
page.

Cordialement
Pascal
'*** DEBUT ***
Function NumeroPageCellule()
Dim VPC As Integer, HPC As Integer
Dim VPB As VPageBreak, HPB As HPageBreak
Dim NumPage As Integer

If ActiveSheet.PageSetup.Order = xlDownThenOver Then
HPC = ActiveSheet.HPageBreaks.Count + 1
VPC = 1
Else
VPC = ActiveSheet.VPageBreaks.Count + 1
HPC = 1
End If
NumPage = 1
For Each VPB In ActiveSheet.VPageBreaks
If VPB.Location.Column > ActiveCell.Column Then Exit For
NumPage = NumPage + HPC
Next VPB
For Each HPB In ActiveSheet.HPageBreaks
If HPB.Location.Row > ActiveCell.Row Then Exit For
NumPage = NumPage + VPC
Next HPB
NumeroPageCellule = NumPage

End Function
'*** FIN ***



"Benoit1024" a écrit dans le message
de news:
bonjour,

existe t'il une formule pour connaitre le numéro de la page.

je voudrais, en fait, avec la mise en forme automatique, ajouter une ligne
aux cellules se trouvant en bas de page...

pas évidant ?! :( :?







Avatar
Benoit1024
bonjour,

je viens de réessayer. je n'ai plus de message d'erreur, j'avais donc du
faire une mauvaise manip'.
par contre, j'ai recopié la formule dans une feuille vierge, sur 166 lignes.
quand je recopie la formule, le temps de recalcul est très long, +1mn et
toutes les valeurs sont à 1 une fois le calcul terminé.
par contre, si je copie la formule 1 seul fois, cela ramène bien la bonne
valeur.

je suis pas sûr d'être bien clair.
disons que cela fonctionne, mais ce n'est pas tout à fait au point.

merci de ton aide.
ben


Re
Comme tu as pu le constater, il n'y a aucun argument.
Donc dans une cellule d'une feuille de ton classeur si tu entres :
=NumeroPageCellule()
Cela te donne l'erreur ?

Cordialement
Pascal

"Benoit1024" a écrit dans le message
de news:
je n'arrive pas à la faire fonctionner.
j'ai copié le code dans la fenêtre module, mais quand j'utilise la
formule,
cela ne fontionne pas. cela me ramène #VALEUR?
je ne dois pas procéder...


Bonjour
Voivi une fonction personnalisée qui renvoie le numéro de page de la
cellule
active.
Code à insérer dans un module standard.
Après, il y aura peut-être aussi une macro à construire pour ta mise en
page.

Cordialement
Pascal
'*** DEBUT ***
Function NumeroPageCellule()
Dim VPC As Integer, HPC As Integer
Dim VPB As VPageBreak, HPB As HPageBreak
Dim NumPage As Integer

If ActiveSheet.PageSetup.Order = xlDownThenOver Then
HPC = ActiveSheet.HPageBreaks.Count + 1
VPC = 1
Else
VPC = ActiveSheet.VPageBreaks.Count + 1
HPC = 1
End If
NumPage = 1
For Each VPB In ActiveSheet.VPageBreaks
If VPB.Location.Column > ActiveCell.Column Then Exit For
NumPage = NumPage + HPC
Next VPB
For Each HPB In ActiveSheet.HPageBreaks
If HPB.Location.Row > ActiveCell.Row Then Exit For
NumPage = NumPage + VPC
Next HPB
NumeroPageCellule = NumPage

End Function
'*** FIN ***



"Benoit1024" a écrit dans le
message
de news:
bonjour,

existe t'il une formule pour connaitre le numéro de la page.

je voudrais, en fait, avec la mise en forme automatique, ajouter une
ligne
aux cellules se trouvant en bas de page...

pas évidant ?! :( :?