Nombre de page qui sera imprimé

  • Initiateur de la discussion Initiateur de la discussion Cougar
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Cougar

XLDnaute Impliqué
Bonjour le forum,

En cliquant sur le bouton Imprimé, j'aimerai que l'usager soit averti du nombre de pages qui sera imprimées.

Ma question est donc la suivante : comment écrire le code qui calculera le nombre de pages à imprimer avant de lancer l'impression. L'usager répondra à la question suivante :
If MsgBox("Il y aura " #pagesimprimées ". Voulez-vous continer ?", vbYesNo + vbQuestion, "Avertissement : Nombre de pages imprimées") = vbYes Then Exit Sub

Ceci lancera ou non l'impression dépendament de la réponse de l'usager.

Merci
 
Re : Nombre de page qui sera imprimé

Bonjour à vous tous, le forum,

J'ai essayé les 2 propositions mais sans succès. Normalement je devrais avoir entre 100 et 120 pages (car j'ai 6278 lignes pour le moment) et je n'ai que 1 ou 3 pages (selon mon option) à imprimer.

Voici le code. Si quelqu'un peut trouver le problème ?

Private Sub CmdImprimer_Click()
Dim r As Integer
Dim nbpages As Variant

Unload UsfInventaire
Application.ScreenUpdating = False

For r = ActiveSheet.UsedRange.Rows.Count To 1 Step -1
If IsEmpty(Cells(r, "h")) Then Rows(r).Hidden = True
Next r

Columns("j:bc").Hidden = True
Columns("be:bf").Hidden = True
Columns("G:G").ColumnWidth = 13.72

With ActiveSheet.PageSetup
.LeftMargin = Application.InchesToPoints(0.75)
.RightMargin = Application.InchesToPoints(0.75)
.TopMargin = Application.InchesToPoints(0.75)
.BottomMargin = Application.InchesToPoints(0.75)
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
End With

'nbpages = ActiveSheet.HPageBreaks.Count + 1
nbpages = Application.ExecuteExcel4Macro("GET.DOCUMENT(50)")
If nbpages = 1 Then
If MsgBox("Il y aura " & nbpages & " page d'imprimée. Voulez-vous continer ?", vbYesNo + vbQuestion, "Avertissement : Nombre de pages imprimées") = vbNo Then Exit Sub
Else
If MsgBox("Il y aura " & nbpages & " pages d'imprimées. Voulez-vous continer ?", vbYesNo + vbQuestion, "Avertissement : Nombre de pages imprimées") = vbNo Then Exit Sub
End If

ActiveSheet.PrintOut
Rows().Hidden = False
Columns().Hidden = False
End Sub

Merci
 
Re : Nombre de page qui sera imprimé

Re

je viens de verifier sur differents fichiers 3 pages et 17 pages la fonction me renvoie bien les bonnes valeurs.


Code:
nbpages = Application.ExecuteExcel4Macro("GET.DOCUMENT(50)")
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

F
Réponses
5
Affichages
2 K
Fariri
F
F
Réponses
17
Affichages
2 K
Fariri
F
G
Réponses
2
Affichages
1 K
G
P
Réponses
4
Affichages
993
P
S
Réponses
0
Affichages
2 K
Saltimbanque
S
R
  • Question Question
Réponses
4
Affichages
2 K
RoseMartin
R
K
Réponses
2
Affichages
1 K
kiko1987
K
A
Réponses
4
Affichages
11 K
A
J
  • Question Question
Réponses
1
Affichages
1 K
A
Réponses
0
Affichages
2 K
A
V
Réponses
10
Affichages
1 K
vovoduplo
V
M
Réponses
10
Affichages
2 K
peper-eliot
P
Retour