OVH Cloud OVH Cloud

Fonctions

12 réponses
Avatar
aife1
Bonjour à tous !!

Je recherche deux fonctions qui pourraient m'indiquer :

- le numéro de page et le nombre de pages totales de la feuille (pas en pied
de page mais dans une cellule)
- le chemin et le nom du classeur (il y a bien la fonction
"=informations(repertoire)" mais celui-ci ne m'indique que le chemin et le
nom du dossier dans lequel se trouve le classeur, et pas le nom du classeur.
Je pourrais combiner cette fonction avec une autre qui ne me donnerait que
le nom du classeur, mais je ne trouve pas.

Merci d'avance à ceux qui pourront m'aider ...

2 réponses

1 2
Avatar
aife1
Merci mais ça me met toujours #VALEUR!

Je comprend vraiment pas, j'ai fais ce que tu as mis.

Si tu as une idée ...

"papou" <cestpasbonprobin@çanonpluscg44_fr> a écrit dans le message de
news:
Bonjour
Tel quel avec des espaces et quelques parenthèses en moins ;-)
=NumeroPageCellule() & " sur " & NombreDePages()

Cordialement
Pascal

"aife1" a écrit dans le message de
news:
Salut Papou !!

Merci beaucoup pour ton aide, tes fonctions marchent à merveille. Mais
j'ai

encore un petit problème pour le numéro de page et le nombre total de
pages

:

je voudrais insérer ces deux fonctions dans une cellule, de type
=(NumeroPageCellule())&" sur "&(NombreDePages())
mais ça me met #VALEUR!

Aurais-tu une idée ?

Merci d'avance ...

"papou" <cestpasbonprobin@çanonpluscg44.fr> a écrit dans le message de
news:
Bonjour
Voici trois fonctions personnalisées qui permettent de faire ce que tu
demandes (à insérer dans un module standard) :
'Numéro de page de la cellule
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
'Nombre total de pages
Function NombreDePages()
Dim VPC As Integer, HPC 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
NombreDePages = VPC + HPC
End Function
'Chemin complet du classeur
Function NomComplet()
NomComplet = ActiveWorkbook.FullName
End Function

Cordialement
Pascal

"aife1" a écrit dans le message de
news:%
Bonjour à tous !!

Je recherche deux fonctions qui pourraient m'indiquer :

- le numéro de page et le nombre de pages totales de la feuille (pas
en



pied
de page mais dans une cellule)
- le chemin et le nom du classeur (il y a bien la fonction
"=informations(repertoire)" mais celui-ci ne m'indique que le chemin
et



le
nom du dossier dans lequel se trouve le classeur, et pas le nom du
classeur.

Je pourrais combiner cette fonction avec une autre qui ne me
donnerait




que
le nom du classeur, mais je ne trouve pas.

Merci d'avance à ceux qui pourront m'aider ...
















Avatar
michdenis
Bonjour aife1,

à chaque fois que tu imprimes une section de ton classeur, si tu veux inscrire dans l'une des sections du pied de page, le
numéro de la page "sur" le nombre de page , essaie ce qui suit dans dans le THISWORKBOOK de ton classeur:

'--------------------
Private Sub Workbook_BeforePrint(Cancel As Boolean)

With ActiveSheet.PageSetup
'.LeftFooter = "&P sur &N"
'Ou
.CenterFooter "&P sur &N"
'OU
'.RightFooter "&P sur &N"
End With

End Sub
'--------------------


Si tu veux combiner Chemin et nom du fichier et les trucs sur les pages :
'----------------------
Private Sub Workbook_BeforePrint(Cancel As Boolean)

With ActiveSheet.PageSetup
.LeftFooter = ThisWorkbook.Path
'Ou
.CenterFooter = ThisWorkbook.Name
'OU
.RightFooter = "&P sur &N"
End With

End Sub
'----------------------


Salutations!



"aife1" a écrit dans le message de news:%
Merci mais ça me met toujours #VALEUR!

Je comprend vraiment pas, j'ai fais ce que tu as mis.

Si tu as une idée ...

"papou" <cestpasbonprobin@çanonpluscg44_fr> a écrit dans le message de
news:
Bonjour
Tel quel avec des espaces et quelques parenthèses en moins ;-)
=NumeroPageCellule() & " sur " & NombreDePages()

Cordialement
Pascal

"aife1" a écrit dans le message de
news:
Salut Papou !!

Merci beaucoup pour ton aide, tes fonctions marchent à merveille. Mais
j'ai

encore un petit problème pour le numéro de page et le nombre total de
pages

:

je voudrais insérer ces deux fonctions dans une cellule, de type
=(NumeroPageCellule())&" sur "&(NombreDePages())
mais ça me met #VALEUR!

Aurais-tu une idée ?

Merci d'avance ...

"papou" <cestpasbonprobin@çanonpluscg44.fr> a écrit dans le message de
news:
Bonjour
Voici trois fonctions personnalisées qui permettent de faire ce que tu
demandes (à insérer dans un module standard) :
'Numéro de page de la cellule
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
'Nombre total de pages
Function NombreDePages()
Dim VPC As Integer, HPC 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
NombreDePages = VPC + HPC
End Function
'Chemin complet du classeur
Function NomComplet()
NomComplet = ActiveWorkbook.FullName
End Function

Cordialement
Pascal

"aife1" a écrit dans le message de
news:%
Bonjour à tous !!

Je recherche deux fonctions qui pourraient m'indiquer :

- le numéro de page et le nombre de pages totales de la feuille (pas
en



pied
de page mais dans une cellule)
- le chemin et le nom du classeur (il y a bien la fonction
"=informations(repertoire)" mais celui-ci ne m'indique que le chemin
et



le
nom du dossier dans lequel se trouve le classeur, et pas le nom du
classeur.

Je pourrais combiner cette fonction avec une autre qui ne me
donnerait




que
le nom du classeur, mais je ne trouve pas.

Merci d'avance à ceux qui pourront m'aider ...
















1 2