Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access
Access Forum d'entraide sur Microsoft Access. Avant de poster -> La F.A.Q Access
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/02/2011, 13h38   #1
Invité de passage
 
Bertrand
Inscription : février 2011
Messages : 6
Détails du profil
Informations personnelles :
Nom : Bertrand

Informations forums :
Inscription : février 2011
Messages : 6
Points : 1
Points : 1
Par défaut Imprimer un état en N exemplaires

Bonjour à tous,
nouveau sur le forum, j'arrive bien entendu avec mon problème. Après avoir consulté de long en large les réponses et suggestions, notamment sur Developpez.com, je n'ai pas réussi à adapter une solution trouvée.
Sur un formulaire j'ai un bouton pour imprimer l'enregistrement en cours dans un état construit à partir d'une requête. La solution doit pouvoir fonctionner sous AC 2000 et 2003.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub BoutonImprimerMonEtat_Click()
On Error GoTo Err_BoutonImprimerMonEtat_Click
 
    Dim stDocName As String
 
    stDocName = "MonEtat"
    DoCmd.OpenReport stDocName, acNormal, , "[IdExpedition]=" & Me![IdExpedition]
Exit_BoutonImprimerMonEtat_Click:
    Exit Sub
 
Err_BoutonImprimerMonEtat_Click:
    MsgBox Err.Description
    Resume Exit_BoutonImprimerMonEtat_Click
End Sub
le code
Code :
"[IdExpedition]=" & Me![IdExpedition]
filtre l'impression à obtenir.

Je souhaiterai pouvoir imprimer quatre exemplaires de cet état. J'ai essayé avec la solution suivante

Dans un module
Code :
1
2
3
4
5
6
7
Public sub fgImprimeCopiesEtat(stEtat As String, itCopies As Integer)
 ' stEtat   : nom de l'état
 ' itCopies : nombre de copies
DoCmd.OpenReport MonEtat, acViewPreview
DoCmd.PrintOut acPages, , , , 4
DoCmd.Close acReport, MonEtat
End sub
et placé sur le bouton imprimer du formulaire
Code :
fgImprimeCopiesEtat "MonEtat", 4
Mon code:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Sub BoutonImprimerMonEtat_Click()
On Error GoTo Err_BoutonImprimerMonEtat_Click
 
    Dim stDocName As String
 
    stDocName = "MonEtat"
    DoCmd.OpenReport stDocName, acNormal, , "[IdExpedition]=" & Me![IdExpedition]
    fgImprimeCopiesEtat "MonEtat", 4
Exit_BoutonImprimerMonEtat_Click:
    Exit Sub
 
Err_BoutonImprimerMonEtat_Click:
    MsgBox Err.Description
    Resume Exit_BoutonImprimerMonEtat_Click
End Sub
Merci de m'aider.
Bertrand56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2011, 14h09   #2
Provisoirement toléré
 
Inscription : janvier 2007
Messages : 64
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 64
Points : 20
Points : 20
bonjour,

moi j'aurai ecrit 4 fois la ligne suivante :

Code :
DoCmd.OpenReport MonEtat, acViewPreview
mais pour cela il faut virer le acViewPreview et lancer le print sans preview de ton etat. Ainsi il s'imprimera 4 fois
Julien42 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2011, 14h21   #3
Provisoirement toléré
 
Inscription : janvier 2007
Messages : 64
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 64
Points : 20
Points : 20
impression directe sans preview

Code :
 DoCmd.OpenReport "MonEtat", acViewNormal
Si tu veux 4 impression :

Code :
1
2
3
4
DoCmd.OpenReport "MonEtat", acViewNormal
DoCmd.OpenReport "MonEtat", acViewNormal
DoCmd.OpenReport "MonEtat", acViewNormal
DoCmd.OpenReport "MonEtat", acViewNormal
Julien42 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2011, 14h45   #4
Invité de passage
 
Bertrand
Inscription : février 2011
Messages : 6
Détails du profil
Informations personnelles :
Nom : Bertrand

Informations forums :
Inscription : février 2011
Messages : 6
Points : 1
Points : 1
Bonjour,
merci Julien42 pour ta réponse rapide je vais essayer ta solution. Compte tenu que la valeur 4 est déclarée dans le module, je ne suis pas parti sur l'idée d'écrire quatre fois la ligne.
Bertrand56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2011, 15h13   #5
Invité de passage
 
Bertrand
Inscription : février 2011
Messages : 6
Détails du profil
Informations personnelles :
Nom : Bertrand

Informations forums :
Inscription : février 2011
Messages : 6
Points : 1
Points : 1
Re bonjour,
je viens d'essayer ta solution, elle fonctionne parfaitement. En information pour d'autre utilisateur, voici comment j'ai procédé avec les bons conseils de Julien42.
J'ai supprimé le module et sa référence sur le code de "BoutonImprimerMonEtat" puis écris dans ce code quatre fois la ligne faisant appel à l'impression.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Private Sub BoutonImprimerMonEtat_Click()
On Error GoTo Err_BoutonImprimerMonEtat_Click
 
    Dim stDocName As String
 
    stDocName = "MonEtat"
    DoCmd.OpenReport stDocName, acNormal, , "[IdExpedition]=" & Me![IdExpedition]
    DoCmd.OpenReport stDocName, acNormal, , "[IdExpedition]=" & Me![IdExpedition]
    DoCmd.OpenReport stDocName, acNormal, , "[IdExpedition]=" & Me![IdExpedition]
    DoCmd.OpenReport stDocName, acNormal, , "[IdExpedition]=" & Me![IdExpedition]
Exit_BoutonImprimerMonEtat_Click:
    Exit Sub
 
Err_BoutonImprimerMonEtat_Click:
    MsgBox Err.Description
    Resume Exit_BoutonImprimerMonEtat_Click
End Sub
La solution est parfois bien simple.

Merci beaucoup.
Salutation.
Bertrand56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h37.


 
 
 
 
Partenaires

Hébergement Web