Gestion du nombre de copies à imprimer

Résolu/Fermé
Lenouveauapprenti Messages postés 300 Date d'inscription samedi 22 décembre 2018 Statut Membre Dernière intervention 7 avril 2024 - 12 avril 2020 à 16:14
Lenouveauapprenti Messages postés 300 Date d'inscription samedi 22 décembre 2018 Statut Membre Dernière intervention 7 avril 2024 - 5 mai 2020 à 00:58
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.
A voir également:

6 réponses

Le Pingou Messages postés 12041 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 22 avril 2024 1 426
Modifié le 13 avril 2020 à 11:40
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


0
Lenouveauapprenti Messages postés 300 Date d'inscription samedi 22 décembre 2018 Statut Membre Dernière intervention 7 avril 2024 2
13 avril 2020 à 13:35
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.
0
Le Pingou Messages postés 12041 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 22 avril 2024 1 426
Modifié le 13 avril 2020 à 21:55
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 ….. !

0
Lenouveauapprenti Messages postés 300 Date d'inscription samedi 22 décembre 2018 Statut Membre Dernière intervention 7 avril 2024 2
Modifié le 13 avril 2020 à 22:05
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Le Pingou Messages postés 12041 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 22 avril 2024 1 426
13 avril 2020 à 22:33
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.
0
Lenouveauapprenti Messages postés 300 Date d'inscription samedi 22 décembre 2018 Statut Membre Dernière intervention 7 avril 2024 2
Modifié le 5 mai 2020 à 00:58
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é
0