![]() |
| |||||||
| S'inscrire | FAQ | Membres | Calendrier | Recherche | Messages du jour | Marquer les forums comme lus |
![]() |
| LinkBack | Outils de la discussion | Modes d'affichage |
| |||
| 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 |
| | ||||
| ||||
| |
| |||
| 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 |
| |||
| 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 |
| |||
| 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 ladiffé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. > |
| |||
| 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 > |
| |||
| 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. >> |
| |||
| 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 |
| |||
| 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 |
| |||
| 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 > > |
| |||
| 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 > > |
| |||
| 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))) |
| |||
| 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 > |
| |
| |
![]() |
| Tags: compter, imprimer, nombre, pages |
| Outils de la discussion | |
| Modes d'affichage | |
| |
| ||||
| 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 |