Compter le nombre de pages avant d'imprimer et utiliser ce nombre dans un message-box
Le
Pierre F.
Bonjour;
J'ai la macro ci-dessous qui me permet d'imprimer une sélection de
lignes d'une page d'un classeur de 16 feuilles.
'macro qui prépare la feuille pour l'impression (colonnes)
PrepImpr
Dim c As Range, myTxt As String
' Impr A310 (sélection des A310 seulement)
Selection.AutoFilter Field:=8, Criteria1:="A310"
Columns("H:H").ColumnWidth = 0
Columns("I:I").ColumnWidth = 0
For Each c In [h6:h800].Cells
If c.EntireRow.Hidden = False Then myTxt = Range("C2") & " - Salle =
" &
CStr(c): Exit For
Next
ActiveSheet.PageSetup.CenterHeader = myTxt
ActiveSheet.PrintOut
--
Je souhaiterais modifier cette macro pour qu'à la place d'imprimer ces =
pages, elle me compte pour chaque feuille (feuilles 2 à 13) le nombre d=
e
pages qui seront imprimées, qu'elle fasse le total pour toutes les page=
s
et garde ce nombre en mémoire pour pouvoir l'utiliser dans un
message-box qui serait:
"Voulez-vous vraiment imprimer les NOMBREdePAGES de ce classeur?"
Merci :-)
Cordialement,
Pierre F.
J'ai la macro ci-dessous qui me permet d'imprimer une sélection de
lignes d'une page d'un classeur de 16 feuilles.
'macro qui prépare la feuille pour l'impression (colonnes)
PrepImpr
Dim c As Range, myTxt As String
' Impr A310 (sélection des A310 seulement)
Selection.AutoFilter Field:=8, Criteria1:="A310"
Columns("H:H").ColumnWidth = 0
Columns("I:I").ColumnWidth = 0
For Each c In [h6:h800].Cells
If c.EntireRow.Hidden = False Then myTxt = Range("C2") & " - Salle =
" &
CStr(c): Exit For
Next
ActiveSheet.PageSetup.CenterHeader = myTxt
ActiveSheet.PrintOut
--
Je souhaiterais modifier cette macro pour qu'à la place d'imprimer ces =
pages, elle me compte pour chaque feuille (feuilles 2 à 13) le nombre d=
e
pages qui seront imprimées, qu'elle fasse le total pour toutes les page=
s
et garde ce nombre en mémoire pour pouvoir l'utiliser dans un
message-box qui serait:
"Voulez-vous vraiment imprimer les NOMBREdePAGES de ce classeur?"
Merci :-)
Cordialement,
Pierre F.

Poser une question


En supposant que les onglets des feuilles à imprimer sont sélectionnées
'-------------------------
Sub SelectToutesLesFeuilles
For each sh in ThisWorkbook.Worksheets
Sh.select false
next
MsgBox ActiveWindow.SelectedSheets.HPageBreaks.Count + 1
'OU
MsgBox ExecuteExcel4Macro("GET.DOCUMENT(50)") & " page(s) à imprimer."
End Sub
'-------------------------
"Pierre F." 693d1$464d798a$55da2b80$
Bonjour;
J'ai la macro ci-dessous qui me permet d'imprimer une sélection de
lignes d'une page d'un classeur de 16 feuilles.
---------------
'macro qui prépare la feuille pour l'impression (colonnes...)
PrepImpr
Dim c As Range, myTxt As String
' Impr A310 (sélection des A310 seulement)
Selection.AutoFilter Field:=8, Criteria1:="A310"
Columns("H:H").ColumnWidth = 0
Columns("I:I").ColumnWidth = 0
For Each c In [h6:h800].Cells
If c.EntireRow.Hidden = False Then myTxt = Range("C2") & " - Salle " &
CStr(c): Exit For
Next
ActiveSheet.PageSetup.CenterHeader = myTxt
ActiveSheet.PrintOut
-----------------
Je souhaiterais modifier cette macro pour qu'à la place d'imprimer ces
pages, elle me compte pour chaque feuille (feuilles 2 à 13) le nombre de
pages qui seront imprimées, qu'elle fasse le total pour toutes les pages
et garde ce nombre en mémoire pour pouvoir l'utiliser dans un
message-box qui serait:
"Voulez-vous vraiment imprimer les NOMBREdePAGES de ce classeur?"
Merci :-)
Cordialement,
Pierre F.
tpage = 0
For s = 2 To 16 '
tpage = tpage + (Sheets(s).HPageBreaks.Count + 1) *
(Sheets(s).VPageBreaks.Count + 1)
Next s
MsgBox tpage
JB
On 18 mai, 12:53, "MichDenis"
;o)) voui!
.. z'y avait des trucs biens qd même dans les fonctions macros excel 4
qd je pense que ma collègue l'an dernier voulait jeter le livre...
Je le garde désormais précieusement!
LSteph
quand même...
http://download.microsoft.com/downl...lmacro.exe
"lSteph"
Bonjour MD,
;o)) voui!
.. z'y avait des trucs biens qd même dans les fonctions macros excel 4
qd je pense que ma collègue l'an dernier voulait jeter le livre...
Je le garde désormais précieusement!
LSteph
Merci à tous!!
J'ai essayé vos différentes propositions.
J'ai eu moins de problèmes (mon niveau Macro est faible) à adapter la
solution de JB.
Cordialement,
Pierre F.