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
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
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
ps/ y'a t'il un de vous qui a réussi à faire fonctionner .VPageBreaks(i).Location
ps/ y'a t'il un de vous qui a réussi à faire fonctionner .VPageBreaks(i).Location
ps/ y'a t'il un de vous qui a réussi à faire fonctionner .VPageBreaks(i).Location
bonjour,
effectivement cela ne peut pas fonctionner si par exemple une feuille
contient des données en cellule A1:A100 et AA1:AA30.
isabelleOui, 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...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.
bonjour,
effectivement cela ne peut pas fonctionner si par exemple une feuille
contient des données en cellule A1:A100 et AA1:AA30.
isabelle
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...
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.
bonjour,
effectivement cela ne peut pas fonctionner si par exemple une feuille
contient des données en cellule A1:A100 et AA1:AA30.
isabelleOui, 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...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" a écrit dans le message de news: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" a écrit dans le message de news:
fov43n$ojt$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
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
Celle-là est-elle mieux ?
(ActiveSheet.HPageBreaks.Count + 1) * (ActiveSheet.VPageBreaks.Count + 1)
Julien
"Mgr Banni" a écrit dans le message de news: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" a écrit dans le message de news:
fov43n$ojt$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
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" a écrit dans le message de news:
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" a écrit dans le message de news:
fov43n$ojt$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
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
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" a écrit dans le message de news:
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" a écrit dans le message de news:
fov43n$ojt$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" a écrit dans le message de news:
fov43n$ojt$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
Bonjour bcar,
Sub testImp()
MsgBox "Votre édition comportera : " _
& Application.ExecuteExcel4Macro("GET.DOCUMENT(50)") _
& " feuille(s)"
End Sub
ChrisV
"bcar" a écrit dans le message de news:
fov43n$ojt$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,
merci beaucoup, je ne connaissais pas cette méthode.
Malheureusement elle ne fonctionne pas, elle s'obstine à me renvoyer 22
alors que mon la feuille que je teste contient 10 pages, et que
l'ensemble des feuilles que je désire imprimer fait 33 pages et que
l'ensemble du classeur en fait une centaine.
En fait le problème à l'air de venir du fait que :
- je suis en mode paysage
- je travaille avec les échelles : j'ajuste à 1 page en largeur ce qui à
pour conséquence de faire une Réduction d'échelle comprise suivant les
feuilles entre 70% et 80% de la taille normale.
Cependant comme cela marche parfaitement sous 2007, je reste persuadé
qu'il doit bien y avoir un moyen de le faire sous 2003, même si c'est
barbare ou détourné.Bonjour bcar,
Sub testImp()
MsgBox "Votre édition comportera : " _
& Application.ExecuteExcel4Macro("GET.DOCUMENT(50)") _
& " feuille(s)"
End Sub
ChrisV
"bcar" a écrit dans le message de news:
fov43n$ojt$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,
merci beaucoup, je ne connaissais pas cette méthode.
Malheureusement elle ne fonctionne pas, elle s'obstine à me renvoyer 22
alors que mon la feuille que je teste contient 10 pages, et que
l'ensemble des feuilles que je désire imprimer fait 33 pages et que
l'ensemble du classeur en fait une centaine.
En fait le problème à l'air de venir du fait que :
- je suis en mode paysage
- je travaille avec les échelles : j'ajuste à 1 page en largeur ce qui à
pour conséquence de faire une Réduction d'échelle comprise suivant les
feuilles entre 70% et 80% de la taille normale.
Cependant comme cela marche parfaitement sous 2007, je reste persuadé
qu'il doit bien y avoir un moyen de le faire sous 2003, même si c'est
barbare ou détourné.
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
Bonjour,
merci beaucoup, je ne connaissais pas cette méthode.
Malheureusement elle ne fonctionne pas, elle s'obstine à me renvoyer 22
alors que mon la feuille que je teste contient 10 pages, et que
l'ensemble des feuilles que je désire imprimer fait 33 pages et que
l'ensemble du classeur en fait une centaine.
En fait le problème à l'air de venir du fait que :
- je suis en mode paysage
- je travaille avec les échelles : j'ajuste à 1 page en largeur ce qui à
pour conséquence de faire une Réduction d'échelle comprise suivant les
feuilles entre 70% et 80% de la taille normale.
Cependant comme cela marche parfaitement sous 2007, je reste persuadé
qu'il doit bien y avoir un moyen de le faire sous 2003, même si c'est
barbare ou détourné.Bonjour bcar,
Sub testImp()
MsgBox "Votre édition comportera : " _
& Application.ExecuteExcel4Macro("GET.DOCUMENT(50)") _
& " feuille(s)"
End Sub
ChrisV
"bcar" a écrit dans le message de news:
fov43n$ojt$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
| je tient à avoir une numérotation continue partant de 1/x pour la première page de la
C'est exactement ce que fait la macro soumise :
Sélectionne toutes les feuilles que tu veux imprimer
Et lance aperçu avant imprimer ... tu devrais voir
le numéro des pages dans la section centrale
du pied de page. (je t'ai donné 2 syntaxes différentes
selon le format que tu veux l'afficher.)
La macro suivante doit être copié dans le ThisWorkbook de ton classeur.
'-------------------------
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
'-------------------------
| je tient à avoir une numérotation continue partant de 1/x pour la première page de la
C'est exactement ce que fait la macro soumise :
Sélectionne toutes les feuilles que tu veux imprimer
Et lance aperçu avant imprimer ... tu devrais voir
le numéro des pages dans la section centrale
du pied de page. (je t'ai donné 2 syntaxes différentes
selon le format que tu veux l'afficher.)
La macro suivante doit être copié dans le ThisWorkbook de ton classeur.
'-------------------------
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
'-------------------------
| je tient à avoir une numérotation continue partant de 1/x pour la première page de la
C'est exactement ce que fait la macro soumise :
Sélectionne toutes les feuilles que tu veux imprimer
Et lance aperçu avant imprimer ... tu devrais voir
le numéro des pages dans la section centrale
du pied de page. (je t'ai donné 2 syntaxes différentes
selon le format que tu veux l'afficher.)
La macro suivante doit être copié dans le ThisWorkbook de ton classeur.
'-------------------------
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
'-------------------------