Iif pied de page / page au singulier ou pluriel

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

cibleo

XLDnaute Impliqué
Bonjour le forum,

J'aimerais régler un petit détail.
Dans le ThisWorkbook, j'ai cette macro :

Code:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
.../...
With Ws.PageSetup
         .CenterFooter = "&""Verdana,Normal""&10Imprimé le " & DateJour
         .RightFooter = "&""Verdana,Normal""&10Page &P sur &N pages"
End With
.../...

Dans le pied de page à droite, à l'impression cette instruction va me retranscrire ceci par exemple :
pour 1 page ----> Page 1 sur 1 pages
pour 2 pages ---> Page 1 sur 2 pages

Code:
.RightFooter = "&""Verdana,Normal""&10Page &P sur &N pages"
A l'aperçu avant impression, lorsqu'il n'y a qu'1 seule page j'aimerais voir apparaitre :
Page 1 sur 1 page sans (s)
Au niveau de la dernière esperluette, ne peut-on pas intégrer un Iif qui me corrigerait cette faute d'orthographe.

Bonne soirée Cibleo
 
Dernière édition:
Re : Iif pied de page / page au singulier ou pluriel

Salut,

Je n'arrive pas à récupérer la valeur de N afin de faire un test , je m'y perds dans les guillemets...

Par contre avec une antiquité XL4 est-ce que cela fait ton affaire ?


Code:
   .RightFooter = "&""Verdana,Normal""&10Page &P sur " & IIf(ExecuteExcel4Macro("GET.DOCUMENT(50)") > 1, " &N &" & " pages", "1 page")

A+++
 
Re : Iif pied de page / page au singulier ou pluriel

Bonjour Cibleo, Zon

peut être une autre solution ainsi :
Code:
    With ActiveSheet
        .PageSetup.RightFooter = "&""Verdana,Normal""&10Page &P sur &N" & _
            IIf(.HPageBreaks.Count + .VPageBreaks.Count > 0, " pages", " page")
    End With


bonne journée
@+
 
Bonjour Zon, Pierrot93🙂

Pierrot93 : tu joues ave le nombre de sauts de page, c'est ça qui me manquait 🙄
J'ai remplacé 0 par 2, puisqu' 1 seule page affiche 2 sauts de page (horizontal +vertical)
Code:
&N" & IIf(ActiveSheet.HPageBreaks.Count + ActiveSheet.VPageBreaks.Count > 2, " pages", " page")

Zon : Ça fonctionne aussi, mais je ne comprend pas l'expression à évaluer : ExecuteExcel4Macro("GET.DOCUMENT(50)") > 1

Merci à tous les 2.

Cibleo
 
Re Pierrot,

J'ai été un peu vite, après test ta solution passant par évaluer le nbre de sauts de page n'est pas convaincante 🙁 ou alors il y a un erreur dans la syntaxe.
Le résultat souhaité n'est pas le bon.

Par contre celle de Zon fonctionne à merveille

cibleo
 
Re : Iif pied de page / page au singulier ou pluriel

Salut et bonne année,

c'est une macro XL4 (avant XL95 on n'utilisait pas de VBA), traduite de lire.document qu'on mettait dans une feuille XL4 à l'époque, c'est la seule que j'utilise grâce à Jean Marie, elle est la plus efficace dans le cas présent...

On l'appelle un peu comme une fonction de calcul application.sum ...

A+++
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
179
Réponses
1
Affichages
962
Compte Supprimé 979
C
S
Réponses
2
Affichages
1 K
S
D
Réponses
2
Affichages
1 K
D
M
Réponses
10
Affichages
1 K
peper-eliot
P
Retour