Gestion du nombre de copies à imprimer [Résolu]

Signaler
Messages postés
237
Date d'inscription
samedi 22 décembre 2018
Statut
Membre
Dernière intervention
25 juin 2020
-
Messages postés
237
Date d'inscription
samedi 22 décembre 2018
Statut
Membre
Dernière intervention
25 juin 2020
-
Bonjour

N.B : Environnement est VB6

Pour gérer le nombre de copies à imprimer j'ai utilisé la boite de dialogue :

CommonDialog1.ShowPrinter

en cliquant sur la commande d'impression sans visualisation avant, tout va bien avec

NumCopies=CommonDialog1.Copies


seulement quant je commande la visualisation avant l'impression, la DataReport s'affiche directement, avec l'icône de l'imprimante à gauche en haut de la feuille.
En cliquant sur ladite Icône une boite de dialogue s'affiche, en voulant préciser un autre nombre de copie autre que 1, l'application ne me renvoie qu'une copie.

je vous demande de l'aide, et merci d'avance.

6 réponses

Messages postés
9755
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
10 octobre 2020
1 077
Bonjour,
Juste au passage, essayé de cette façon : (à adapter à votre code!!!)
Rep2 = InputBox("Combien de copies ? ", , 1)
If Rep2 = "" Then Exit Sub
.PrintOut copies:=Rep2


Salutations.
Le Pingou
Messages postés
237
Date d'inscription
samedi 22 décembre 2018
Statut
Membre
Dernière intervention
25 juin 2020

Bonjour,

Je vous remercie pour votre réponse, je vous expose mon code.


On Error GoTo nnn:



Dim Quest, Reponse As String
Dim NumCopies, I, DPage, FPage, P As Integer

Quest = MsgBox("Voulez vous visualiser avant l'impression ?", vbMsgBoxRight + vbQuestion + vbYesNo, "Question ?")

If Quest = vbYes Then
Call OkVisualiser
Exit Sub
Else
GoTo Nos:
Exit Sub
End If

Nos:

CmnDialog.ShowPrinter
NumCopies = CmnDialog.Copies
DPage = CmnDialog.FromPage
FPage = CmnDialog.ToPage

For P = DPage To FPage

For I = 1 To numcompies


SQLs = "select * from TableOperations where ((Dossier='" & CStr(VarDossier) & "') and (Mois='" & CStr(CmbMois) & "'))"

If RS.State = adStateOpen Then RS.Close
RS.Open SQLs, DB, adOpenKeyset, adLockPessimistic

ADCotisations.RecordSource = SQLs

Set DRCotisations.DataSource = ADCotisations

ADCotisations.Refresh

With DRCotisations

.Sections("Section4").Controls("LblSociete").Caption = VarSociete & ", " & VarStatut

.Sections("Section2").Controls("LblMSNP").Caption = Format(LblSalairesNP, "#,##0.00")

.Sections("Section2").Controls("LblTauxAF").Caption = Format(TauxAF, "#,##0.00%")


.Sections("Section2").Controls("LblMtAF").Caption = Format(MontantAF, "#,##0.00")


.PrintReport False, rptRangeAllPages

.Show
.WindowState = 2

End With




DRCotisations.Hide




Next I
Next P

nnn:


Voilà, quand je choisis Non ( c.à.d : imprimer sans visualiser avant) le nombre de copie demandé s'imprime.
Au contraire, quand je choisis Oui (c.à.d : visualiser ), lors du click sur l'icône de l'imprimante situé à gauche de l'écran en haut, une boite de dialogue est renvoyée, même si je choisis un nombre supèrieur à 1, le nombre de copies imprimés reste 1, ça c'est mon problème.
Messages postés
9755
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
10 octobre 2020
1 077
Bonjour,
Désolé mais c'est juste une suggestion via une Input Box ... depuis une macro !
Soit vous commandez l'impression via une macro ou alors manuellement et vous fixez le nombre de copies via l'aperçu avant impression.
Si vous passez par la vue avant impression et que vous choisissez le nombre de copies et clic sur le bouton imprimer de l’aperçu vous aurez exactement le nombre de copies demandées.
Ou est votre problème…. ! Pas visible dans votre code ….. !

Salutations.
Le Pingou
Messages postés
237
Date d'inscription
samedi 22 décembre 2018
Statut
Membre
Dernière intervention
25 juin 2020

Bonjour,

Justement, le problème m'était invisible.
Lorsque je provoque la CommonDialog que j'ai placé sur ma form, j'obtiens le résultat escompté, mais
quant je passe par la visualisation et que ma DataReport est là, au clique de l'icône de l'imprimante affiché par défaut avec ma DataReport, la Boite de dialogue renvoyé par le système, en ajustant le nombre de copies, toujours une seule copie qui s'imprime. C'est là où je me suis perdu.

Merci pour votre essai
Messages postés
9755
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
10 octobre 2020
1 077
Bonsoir,
Ce que vous décrivez est une chose, par contre on ne voit pas ce que vous faites.....donc impossible de vous soumettre une proposition valable.
Messages postés
237
Date d'inscription
samedi 22 décembre 2018
Statut
Membre
Dernière intervention
25 juin 2020

Bonjour,

Je crois que la solution réside dans le nombre de feuille à imprimer, ce que j'ai constaté au cours d'un essai où il y'avait suffisamment d'enregistrements, la case de nombre de copies se désactive automatiquement.

Merci pour votre disponibilité