Niouzes.org  

Précédent   Niouzes.org > Forum > Newsgroup microsoft.public.fr.* 1 Forum > Newsgroup microsoft.public.fr.excel
S'inscrire FAQ Membres Calendrier Recherche Messages du jour Marquer les forums comme lus



Réponse

 

LinkBack Outils de la discussion Modes d'affichage
  #1 (permalink)  
Vieux 13/02/2008, 15h59
bcar
 
Messages: n/a
Par défaut Compter le nombre de pages à imprimer

Bonjour,

Comment faire sous excel 2003 pour compter le nombre de pages qui vont
être imprimée dans une worksheet ?

Sous 2007 je fais ThisWorkbook.Worksheets(1).PageSetup.Pages.Count et
c'est bon, mais la propriété Pages n'existe pas sous 2003.

Mon but est de compter le nombre de pages total qui vont être imprimées
dans le classeur pour faire uns numérotation globale (et non pas qui
repart à 1 pour chaque worksheet) : 1/x, 2/x, ... dans les pieds de page
des feuilles imprimées.

sous 2007 je fais grosso modo :
cpt = cpt + ThisWorkbook.Worksheets(1).PageSetup.Pages.Count
cpt = cpt + ThisWorkbook.Worksheets(2).PageSetup.Pages.Count
total = cpt
cpt = 0
With ThisWorkbook.Worksheets(1)
.PageSetup.CenterFooter = "Page &P+" & cpt & " de " & total
cpt = cpt + .PageSetup.Pages.Count
.PrintOut Copies:=1, Collate:=True
End With
With ThisWorkbook.Worksheets(2)
.PageSetup.CenterFooter = "Page &P+" & cpt & " de " & total
cpt = cpt + .PageSetup.Pages.Count
.PrintOut Copies:=1, Collate:=True
End With

Merci pour vos réponses
Réponse avec citation
Alt Today
Advertising
Google Adsense
 
This advertising will not be shown
in this way to registered members.
Register your free account today
and become a member on
Niouzes.org
Standard Sponsored Links

  #2 (permalink)  
Vieux 13/02/2008, 16h22
Mgr Banni
 
Messages: n/a
Par défaut Re: Compter le nombre de pages à imprimer

bonjour bcar
trouvé au hasard des réponses de l'excellent michel du québec :

MsgBox ActiveWindow.SelectedSheets.HPageBreaks.Count + 1

HTH

Mgr T.B.



"bcar" <bcar4***laposte.net> a écrit dans le message de news:
fov43n$ojt$1***reader1.imaginet.fr...
> Bonjour,
>
> Comment faire sous excel 2003 pour compter le nombre de pages qui vont
> être imprimée dans une worksheet ?
>
> Sous 2007 je fais ThisWorkbook.Worksheets(1).PageSetup.Pages.Count et
> c'est bon, mais la propriété Pages n'existe pas sous 2003.
>
> Mon but est de compter le nombre de pages total qui vont être imprimées
> dans le classeur pour faire uns numérotation globale (et non pas qui
> repart à 1 pour chaque worksheet) : 1/x, 2/x, ... dans les pieds de page
> des feuilles imprimées.
>
> sous 2007 je fais grosso modo :
> cpt = cpt + ThisWorkbook.Worksheets(1).PageSetup.Pages.Count
> cpt = cpt + ThisWorkbook.Worksheets(2).PageSetup.Pages.Count
> total = cpt
> cpt = 0
> With ThisWorkbook.Worksheets(1)
> .PageSetup.CenterFooter = "Page &P+" & cpt & " de " & total
> cpt = cpt + .PageSetup.Pages.Count
> .PrintOut Copies:=1, Collate:=True
> End With
> With ThisWorkbook.Worksheets(2)
> .PageSetup.CenterFooter = "Page &P+" & cpt & " de " & total
> cpt = cpt + .PageSetup.Pages.Count
> .PrintOut Copies:=1, Collate:=True
> End With
>
> Merci pour vos réponses


Réponse avec citation
  #3 (permalink)  
Vieux 13/02/2008, 16h37
JB
 
Messages: n/a
Par défaut Re: Compter le nombre de pages à imprimer

Bonjour,

NbPages = (Sheets(1).HPageBreaks.Count + 1) *
(Sheets(1).VPageBreaks.Count + 1)

JB
http://boisgontierjacques.free.fr


On 13 fév, 16:59, bcar <bc...***laposte.net> wrote:
> Bonjour,
>
> Comment faire sous excel 2003 pour compter le nombre de pages qui vont
> être imprimée dans une worksheet ?
>
> Sous 2007 je fais ThisWorkbook.Worksheets(1).PageSetup.Pages.Count et
> c'est bon, mais la propriété Pages n'existe pas sous 2003.
>
> Mon but est de compter le nombre de pages total qui vont être imprimées
> dans le classeur pour faire uns numérotation globale (et non pas qui
> repart à 1 pour chaque worksheet) : 1/x, 2/x, ... dans les pieds de page
> des feuilles imprimées.
>
> sous 2007 je fais grosso modo :
> cpt = cpt + ThisWorkbook.Worksheets(1).PageSetup.Pages.Count
> cpt = cpt + ThisWorkbook.Worksheets(2).PageSetup.Pages.Count
> total = cpt
> cpt = 0
> With ThisWorkbook.Worksheets(1)
> *** *** ***.PageSetup.CenterFooter = "Page &P+" & cpt & " de " & total
> *** *** ***cpt = cpt + .PageSetup.Pages.Count
> *** *** ***.PrintOut Copies:=1, Collate:=True
> End With
> With ThisWorkbook.Worksheets(2)
> *** *** ***.PageSetup.CenterFooter = "Page &P+" & cpt & " de " & total
> *** *** ***cpt = cpt + .PageSetup.Pages.Count
> *** *** ***.PrintOut Copies:=1, Collate:=True
> End With
>
> Merci pour vos réponses


Réponse avec citation
  #4 (permalink)  
Vieux 13/02/2008, 16h38
bcar
 
Messages: n/a
Par défaut Re: Compter le nombre de pages à imprimer

Oui, merci, c'est effectivement la première chose que j'avais tenté,
mais curieusement cette méthode ne me donne pas le bon résultat (sauf
quand il n'y a qu'une page ) ni sous 2007 ni sous 2003.Et la
différence est conséquente : en vrai 33 pages, avec cette méthode 12...

Mgr Banni a écrit :
> bonjour bcar
> trouvé au hasard des réponses de l'excellent michel du québec :
>
> MsgBox ActiveWindow.SelectedSheets.HPageBreaks.Count + 1
>
> HTH
>
> Mgr T.B.
>

Réponse avec citation
  #5 (permalink)  
Vieux 13/02/2008, 16h40
news.microsoft.com
 
Messages: n/a
Par défaut Re: Compter le nombre de pages à imprimer

Celle-là est-elle mieux ?

(ActiveSheet.HPageBreaks.Count + 1) * (ActiveSheet.VPageBreaks.Count + 1)

Julien

"Mgr Banni" <banni***lacurie.va> a écrit dans le message de news:
uFCwwylbIHA.5160***TK2MSFTNGP05.phx.gbl...
> bonjour bcar
> trouvé au hasard des réponses de l'excellent michel du québec :
>
> MsgBox ActiveWindow.SelectedSheets.HPageBreaks.Count + 1
>
> HTH
>
> Mgr T.B.
>
>
>
> "bcar" <bcar4***laposte.net> a écrit dans le message de news:
> fov43n$ojt$1***reader1.imaginet.fr...
>> Bonjour,
>>
>> Comment faire sous excel 2003 pour compter le nombre de pages qui vont
>> être imprimée dans une worksheet ?
>>
>> Sous 2007 je fais ThisWorkbook.Worksheets(1).PageSetup.Pages.Count et
>> c'est bon, mais la propriété Pages n'existe pas sous 2003.
>>
>> Mon but est de compter le nombre de pages total qui vont être imprimées
>> dans le classeur pour faire uns numérotation globale (et non pas qui
>> repart à 1 pour chaque worksheet) : 1/x, 2/x, ... dans les pieds de page
>> des feuilles imprimées.
>>
>> sous 2007 je fais grosso modo :
>> cpt = cpt + ThisWorkbook.Worksheets(1).PageSetup.Pages.Count
>> cpt = cpt + ThisWorkbook.Worksheets(2).PageSetup.Pages.Count
>> total = cpt
>> cpt = 0
>> With ThisWorkbook.Worksheets(1)
>> .PageSetup.CenterFooter = "Page &P+" & cpt & " de " & total
>> cpt = cpt + .PageSetup.Pages.Count
>> .PrintOut Copies:=1, Collate:=True
>> End With
>> With ThisWorkbook.Worksheets(2)
>> .PageSetup.CenterFooter = "Page &P+" & cpt & " de " & total
>> cpt = cpt + .PageSetup.Pages.Count
>> .PrintOut Copies:=1, Collate:=True
>> End With
>>
>> Merci pour vos réponses

>



Réponse avec citation
  #6 (permalink)  
Vieux 13/02/2008, 16h55
isabelle
 
Messages: n/a
Par défaut Re: Compter le nombre de pages à imprimer

bonjour,

effectivement cela ne peut pas fonctionner si par exemple une feuille contient des données en cellule A1:A100 et AA1:AA30.

isabelle

bcar a écrit :
> Oui, merci, c'est effectivement la première chose que j'avais tenté,
> mais curieusement cette méthode ne me donne pas le bon résultat (sauf
> quand il n'y a qu'une page ) ni sous 2007 ni sous 2003.Et la
> différence est conséquente : en vrai 33 pages, avec cette méthode 12...
>
> Mgr Banni a écrit :
>> bonjour bcar
>> trouvé au hasard des réponses de l'excellent michel du québec :
>>
>> MsgBox ActiveWindow.SelectedSheets.HPageBreaks.Count + 1
>>
>> HTH
>>
>> Mgr T.B.
>>

Réponse avec citation
  #7 (permalink)  
Vieux 13/02/2008, 17h26
MichDenis
 
Messages: n/a
Par défaut Re: Compter le nombre de pages à imprimer

Tu aurais pu lui suggérer ceci :

'-------------------------
For Each Sh In ActiveWindow.SelectedSheets
With Sh.PageSetup
' .CenterFooter = "&P & "" page"" /&N & "" Pages"
'OU
.CenterFooter = "&P/&N"
Sh.PrintPreview
End With
Next
'-------------------------

Et le monsieur pourrait insérer l'événement du Thiisworkbook et la
procédure générale deviendrait :
'----------------------------------
Private Sub Workbook_BeforePrint(Cancel As Boolean)
For Each Sh In ActiveWindow.SelectedSheets
With Sh.PageSetup
' .CenterFooter = "&P & "" page"" /&N & "" Pages"
'OU
.CenterFooter = "&P/&N"
End With
Next
End Sub
'----------------------------------



"Mgr Banni" <banni***lacurie.va> a écrit dans le message de news:
uFCwwylbIHA.5160***TK2MSFTNGP05.phx.gbl...
bonjour bcar
trouvé au hasard des réponses de l'excellent michel du québec :

MsgBox ActiveWindow.SelectedSheets.HPageBreaks.Count + 1

HTH

Mgr T.B.



"bcar" <bcar4***laposte.net> a écrit dans le message de news:
fov43n$ojt$1***reader1.imaginet.fr...
> Bonjour,
>
> Comment faire sous excel 2003 pour compter le nombre de pages qui vont
> être imprimée dans une worksheet ?
>
> Sous 2007 je fais ThisWorkbook.Worksheets(1).PageSetup.Pages.Count et
> c'est bon, mais la propriété Pages n'existe pas sous 2003.
>
> Mon but est de compter le nombre de pages total qui vont être imprimées
> dans le classeur pour faire uns numérotation globale (et non pas qui
> repart à 1 pour chaque worksheet) : 1/x, 2/x, ... dans les pieds de page
> des feuilles imprimées.
>
> sous 2007 je fais grosso modo :
> cpt = cpt + ThisWorkbook.Worksheets(1).PageSetup.Pages.Count
> cpt = cpt + ThisWorkbook.Worksheets(2).PageSetup.Pages.Count
> total = cpt
> cpt = 0
> With ThisWorkbook.Worksheets(1)
> .PageSetup.CenterFooter = "Page &P+" & cpt & " de " & total
> cpt = cpt + .PageSetup.Pages.Count
> .PrintOut Copies:=1, Collate:=True
> End With
> With ThisWorkbook.Worksheets(2)
> .PageSetup.CenterFooter = "Page &P+" & cpt & " de " & total
> cpt = cpt + .PageSetup.Pages.Count
> .PrintOut Copies:=1, Collate:=True
> End With
>
> Merci pour vos réponses



Réponse avec citation
  #8 (permalink)  
Vieux 13/02/2008, 19h41
ChrisV
 
Messages: n/a
Par défaut Re: Compter le nombre de pages à imprimer

Bonjour bcar,

Sub testImp()
MsgBox "Votre édition comportera : " _
& Application.ExecuteExcel4Macro("GET.DOCUMENT(50)") _
& " feuille(s)"
End Sub


ChrisV


"bcar" <bcar4***laposte.net> a écrit dans le message de news:
fov43n$ojt$1***reader1.imaginet.fr...
> Bonjour,
>
> Comment faire sous excel 2003 pour compter le nombre de pages qui vont
> être imprimée dans une worksheet ?
>
> Sous 2007 je fais ThisWorkbook.Worksheets(1).PageSetup.Pages.Count et
> c'est bon, mais la propriété Pages n'existe pas sous 2003.
>
> Mon but est de compter le nombre de pages total qui vont être imprimées
> dans le classeur pour faire uns numérotation globale (et non pas qui
> repart à 1 pour chaque worksheet) : 1/x, 2/x, ... dans les pieds de page
> des feuilles imprimées.
>
> sous 2007 je fais grosso modo :
> cpt = cpt + ThisWorkbook.Worksheets(1).PageSetup.Pages.Count
> cpt = cpt + ThisWorkbook.Worksheets(2).PageSetup.Pages.Count
> total = cpt
> cpt = 0
> With ThisWorkbook.Worksheets(1)
> .PageSetup.CenterFooter = "Page &P+" & cpt & " de " & total
> cpt = cpt + .PageSetup.Pages.Count
> .PrintOut Copies:=1, Collate:=True
> End With
> With ThisWorkbook.Worksheets(2)
> .PageSetup.CenterFooter = "Page &P+" & cpt & " de " & total
> cpt = cpt + .PageSetup.Pages.Count
> .PrintOut Copies:=1, Collate:=True
> End With
>
> Merci pour vos réponses



Réponse avec citation
  #9 (permalink)  
Vieux 13/02/2008, 21h07
isabelle
 
Messages: n/a
Par défaut Re: Compter le nombre de pages à imprimer

Salut ChrisV,

j'ai essayé plusieurs chose mais rien ne marche pour compter le nb. de feuille à imprimer de se classeur,
http://cjoint.com/?cnwizCv5Tm

domage...

isabelle

ChrisV a écrit :
> Bonjour bcar,
>
> Sub testImp()
> MsgBox "Votre édition comportera : " _
> & Application.ExecuteExcel4Macro("GET.DOCUMENT(50)") _
> & " feuille(s)"
> End Sub
>
>
> ChrisV
>
>
> "bcar" <bcar4***laposte.net> a écrit dans le message de news:
> fov43n$ojt$1***reader1.imaginet.fr...
>> Bonjour,
>>
>> Comment faire sous excel 2003 pour compter le nombre de pages qui vont
>> être imprimée dans une worksheet ?
>>
>> Sous 2007 je fais ThisWorkbook.Worksheets(1).PageSetup.Pages.Count et
>> c'est bon, mais la propriété Pages n'existe pas sous 2003.
>>
>> Mon but est de compter le nombre de pages total qui vont être imprimées
>> dans le classeur pour faire uns numérotation globale (et non pas qui
>> repart à 1 pour chaque worksheet) : 1/x, 2/x, ... dans les pieds de page
>> des feuilles imprimées.
>>
>> sous 2007 je fais grosso modo :
>> cpt = cpt + ThisWorkbook.Worksheets(1).PageSetup.Pages.Count
>> cpt = cpt + ThisWorkbook.Worksheets(2).PageSetup.Pages.Count
>> total = cpt
>> cpt = 0
>> With ThisWorkbook.Worksheets(1)
>> .PageSetup.CenterFooter = "Page &P+" & cpt & " de " & total
>> cpt = cpt + .PageSetup.Pages.Count
>> .PrintOut Copies:=1, Collate:=True
>> End With
>> With ThisWorkbook.Worksheets(2)
>> .PageSetup.CenterFooter = "Page &P+" & cpt & " de " & total
>> cpt = cpt + .PageSetup.Pages.Count
>> .PrintOut Copies:=1, Collate:=True
>> End With
>>
>> Merci pour vos réponses

>
>

Réponse avec citation
  #10 (permalink)  
Vieux 13/02/2008, 23h13
MichDenis
 
Messages: n/a
Par défaut Re: Compter le nombre de pages à imprimer

Dans l'en-tête de la section gauche, tu as ceci "&[Pages]"
défini comme mise en page de la feuil1. La mise en page
d'une feuille est enregistré avec le fichier si tu l'as enregistré.

En conséquence, dans le coin supérieur gauche, tu as le
nombre total de pages qui s'affiche lors d'un PrintPreview

Au-delà de ça, je n'y trouve rien d'anormal !



"isabelle" <i***v> a écrit dans le message de news: ufF7lSobIHA.1168***TK2MSFTNGP02.phx.gbl...
Salut ChrisV,

j'ai essayé plusieurs chose mais rien ne marche pour compter le nb. de feuille à imprimer de se
classeur,
http://cjoint.com/?cnwizCv5Tm

domage...

isabelle

ChrisV a écrit :
> Bonjour bcar,
>
> Sub testImp()
> MsgBox "Votre édition comportera : " _
> & Application.ExecuteExcel4Macro("GET.DOCUMENT(50)") _
> & " feuille(s)"
> End Sub
>
>
> ChrisV
>
>
> "bcar" <bcar4***laposte.net> a écrit dans le message de news:
> fov43n$ojt$1***reader1.imaginet.fr...
>> Bonjour,
>>
>> Comment faire sous excel 2003 pour compter le nombre de pages qui vont
>> être imprimée dans une worksheet ?
>>
>> Sous 2007 je fais ThisWorkbook.Worksheets(1).PageSetup.Pages.Count et
>> c'est bon, mais la propriété Pages n'existe pas sous 2003.
>>
>> Mon but est de compter le nombre de pages total qui vont être imprimées
>> dans le classeur pour faire uns numérotation globale (et non pas qui
>> repart à 1 pour chaque worksheet) : 1/x, 2/x, ... dans les pieds de page
>> des feuilles imprimées.
>>
>> sous 2007 je fais grosso modo :
>> cpt = cpt + ThisWorkbook.Worksheets(1).PageSetup.Pages.Count
>> cpt = cpt + ThisWorkbook.Worksheets(2).PageSetup.Pages.Count
>> total = cpt
>> cpt = 0
>> With ThisWorkbook.Worksheets(1)
>> .PageSetup.CenterFooter = "Page &P+" & cpt & " de " & total
>> cpt = cpt + .PageSetup.Pages.Count
>> .PrintOut Copies:=1, Collate:=True
>> End With
>> With ThisWorkbook.Worksheets(2)
>> .PageSetup.CenterFooter = "Page &P+" & cpt & " de " & total
>> cpt = cpt + .PageSetup.Pages.Count
>> .PrintOut Copies:=1, Collate:=True
>> End With
>>
>> Merci pour vos réponses

>
>



Réponse avec citation
  #11 (permalink)  
Vieux 13/02/2008, 23h14
Modeste
 
Messages: n/a
Par défaut Re: Compter le nombre de pages à imprimer

Bonsour® isabelle avec ferveur ;o))) vous nous disiez :

> j'ai essayé plusieurs chose mais rien ne marche pour compter le nb.
> de feuille à imprimer de se classeur, http://cjoint.com/?cnwizCv5Tm


pour moi ça marche...
http://cjoint.com/?coamRukIn7

--
***+
;o)))


Réponse avec citation
  #12 (permalink)  
Vieux 14/02/2008, 00h53
isabelle
 
Messages: n/a
Par défaut Re: Compter le nombre de pages à imprimer

salut geedee,

merci pour l'image,
une fois la fenêtre "Apercue des sauts de page" lancer cela fonction

Sub test1()
ActiveWindow.View = xlPageBreakPreview
MsgBox Application.ExecuteExcel4Macro("GET.DOCUMENT(50)")
ActiveWindow.View = xlNormalView
End Sub

fini le chiffre 6 j'ai maintenant le vrai... le 5
bisou isabelle

ps/ y'a t'il un de vous qui a réussi à faire fonctionner .VPageBreaks(i).Location

Sub mm()
Dim h()
Dim v()
With ActiveSheet

For i = 1 To .HPageBreaks.Count
ReDim Preserve h(i)
h(i) = .HPageBreaks(i).Location.Address
Next

For i = 1 To .VPageBreaks.Count
ReDim Preserve v(i)
v(i) = .VPageBreaks(i).Location
Next

For y = LBound(v) To UBound(v)
If v(y) = h(y) Then m = m + 1
Next

End With
End Sub

Modeste a écrit :
> Bonsour® isabelle avec ferveur ;o))) vous nous disiez :
>
>> j'ai essayé plusieurs chose mais rien ne marche pour compter le nb.
>> de feuille à imprimer de se classeur, http://cjoint.com/?cnwizCv5Tm

>
> pour moi ça marche...
> http://cjoint.com/?coamRukIn7
>

Réponse avec citation
 
Réponse
Tags: , , ,



Outils de la discussion
Modes d'affichage

Règles de messages
Vous pouvez ouvrir de nouvelles discussions : nonoui
Vous pouvez envoyer des réponses : nonoui
Vous pouvez insérer des pièces jointes : nonoui
Vous pouvez modifier vos messages : nonoui

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Discussions similaires

Discussion Auteur Forum Réponses Dernier message
Compter le nombre de mots Calou Newsgroup microsoft.public.fr.excel 2 03/07/2008 05h09
Compter le nombre de cellules avec texte. Guy72 Newsgroup microsoft.public.fr.excel 6 05/06/2008 11h54
Re: Compter le nombre de caractères par ligne et l'afficher Modeste Newsgroup microsoft.public.fr.word 1 27/02/2008 10h30
Compter nombre de lignes Davidoo Newsgroup microsoft.public.fr.windows2000server 3 20/03/2007 06h42
Compter le nombre de clicks rmoyen@gmail.com Newsgroup fr.comp.applications.x11 10 11/04/2006 09h38


Fuseau horaire GMT. Il est actuellement 07h54.

Italiano - German - English - Español


Édité par : vBulletin® version 3.6.8
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0 © 2007, Crawlability, Inc. Tous droits réservés.
Version française #13 par l'association vBulletin francophone


Politique - Droit - Philosophie - Football - Medicine - Française - Bricolage - Photo - Mac Os X - Divers - Physique - Jardinage
Mecanique - Moto - Photographie - Rail - Route - Aviation - Cinema - Linux - Psychanalyse - Finance - Enigmes - Rugby
Environnement - Histoire - Programmes TV - Education - Travail - Voyages - Windows - Immobilier - Cuisine
Windows XP - Excel - Word - Outlook - Access - Internet Explorer - Office - Vista

Page generated in 0,54008 seconds with 11 queries