Comment récupérer le nombre de pages à imprimer

corvelc

XLDnaute Occasionnel
Bonjour,

J'ai affecté à un bouton une macro d'édition sur des tableaux dynamiques (macro ci dessous), mais je souhaite savoir comment est-il possible de connaitre le nombre de pages à imprimer avant de lancer l'impression, ceci afin de pouvoir informer l'utilisateur du nombre de pages à imprimer et lui demander de confirmer son édition.

Merci d'avance pour l'aide. (car rien vu dans le forum)

Ma macro affectée à un bouton :

Sub Mod4_Imprim_Tbl01()
' *****************************************
' * Macro pour imprimer tableau 01 *
' * Macro enregistrée le 22/08/2008 par CORVELC *
' *****************************************
Sheets("Td Conso Actions-01").Activate
Range("A6").Select
Selection.CurrentRegion.Select
Selection.PrintOut Copies:=1, Collate:=True
End Sub
 

mutzik

XLDnaute Barbatruc
Re : Comment récupérer le nombre de pages à imprimer

bonjour,

testes : ActiveSheet.HPageBreaks.Count
 

bhbh

XLDnaute Barbatruc
Re : Comment récupérer le nombre de pages à imprimer

Bonjour,

essaie avec :

Code:
X = ActiveSheet.HPageBreaks.Count + 1
Response = MsgBox("Souhaitez-vous imprimer les " & X & " pages?", vbYesNo, "Impression")
If Response = vbYes Then
    Selection.PrintOut Copies:=1, Collate:=True
End If
Edit, tu peux également calculer avec ceci :

Code:
X = Application.ExecuteExcel4Macro("GET.DOCUMENT(50)")
 
Dernière édition:

corvelc

XLDnaute Occasionnel
Re : Comment récupérer le nombre de pages à imprimer

merci pour vos retours.
J'ai testé avec "ActiveSheet.HPageBreaks.Count" positionné apres ma selection "Selection.CurrentRegion.Select" mais je récupere toujours la valeur 0 ??
 

corvelc

XLDnaute Occasionnel
Re : Comment récupérer le nombre de pages à imprimer

Je pense avoir compris la problématique, il faut que je définisse des sauts de pages automatiquement avec .HPageBreaks.Add .Range("xxx").

n'est-ce pas ?
 

bhbh

XLDnaute Barbatruc
Re : Comment récupérer le nombre de pages à imprimer

Re,

essaie :

Code:
ActiveSheet.PageSetup.PrintArea = Range("A6").CurrentRegion.Address
X = Application.ExecuteExcel4Macro("GET.DOCUMENT(50)")
Response = MsgBox("Souhaitez-vous imprimer les " & X & " pages?", vbYesNo, "Impression")
If Response = vbYes Then
    Selection.PrintOut Copies:=1, Collate:=True
End If
 

corvelc

XLDnaute Occasionnel
Re : Comment récupérer le nombre de pages à imprimer

Merci pour l'aide,

la solution de BHBH répond exactement à mon besoin.
- Détection automatique du nombre de page à éditer en fonction des filtre activé sur le tableau dynamique
- Msgbox pour confirmation de l'utilisateur avant édition.

encore merci.
 

Discussions similaires


Haut Bas