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.
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas