Aperçu avant impression différente de l'impression
Bonjour après plusieurs recherches infructueuses je me permets de faire appel à vos connaissances.
Défit : imprimer une étiquette, produite sur Acces 2003, sur une portion précise de la feuille d'étiquette Avery.
Après avoir reçu une réponse satisfaisante sur la façon de procéder en VBA sur le forum, j'arrive à produire l'étiquette qui se positionne bien à l'endroit souhaité (sur l'aperçu avant impression) mais qui, une fois imprimé se retrouve systématiquement sur la position en haut à gauche sur la feuille.
J’avais systématiquement un message informant que l'espace horizontale est insuffisante, j'ai réduit les marges de sorte que le message ne s'affiche plus, mais rien ne change l'aperçu de l'étiquette est différente de par sa position sur la page que la feuille imprimée.
Le problème a surement déjà été rencontré mais je tourne en rond.
Auriez-vous une piste svp.
Merci à l’avance
Aperçu avant impression différente de l'impression (suite)
Citation:
Envoyé par
meolimo
Merci Philippe de l'intérêt ;) mais même en modifiant le code VBA comme indiqué, j'obtiens le même résultat :( sois l'appercu est correcte mais différente de l'impression ??
Citation:
Mon état: "Etat_Etiquette_param", à comme Propriété RecordSource la requête
Code:
1 2
| SELECT Clef, Nom, noCivic, rue, ville, CP
FROM ENS_ETABLISSEMENT; |
Citation:
DoCmd.OpenReport "Etat_Etiquette_param", acViewPreview, , "Clef =" & ClefClient
Cette ouverture lie un seul résultat possible. Donc pour espérer imprimer des espaces vides, sur la feuille Avery dont quelques étiquette sont manquantes, la procédure suivant affiche bien à l’écran le résultat de la requête paramétrée au bon endroit sur la feuille. Mais l’impression imprime le seul résultat possible de la requête au premier emplacement disponible (en haut à gauche)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| Option Compare Database
Option Explicit
Public NB_aEpargner As Integer
Public NB_Epargner As Integer
---------------------------------------------------------------------------------------
Private Sub Détail_Print(Cancel As Integer, PrintCount As Integer)
If NB_Epargner < NB_aEpargner Then
'ne passe pas au prochain record
Me.NextRecord = False
'annule l'impression
Me.PrintSection = False
'incrémentation de la variable
NB_Epargner = NB_Epargner + 1
End If
End Sub
---------------------------------------------------------------------------------------
Private Sub Report_Open(Cancel As Integer)
Dim SautSouhaite As String
'invite à identifier le nombre d'espace vide
SautSouhaite = InputBox("Combien d'étiquettes vides avez-vous ? :")
If IsNull(SautSouhaite) Then
Cancel = True
Else
NB_aEpargner = Val(SautSouhaite)
End If
End Sub. |
Pour remédier à ce problème, je crois que je devrai peut être trouver une façon de modifier le nombre d’enregistrement du RecordSource en modifiant la table impliquée pour lui rajouter un nombre d’enregistrement bidon correspondant au nombre contenu dans la variable NB_aEpargner et imprimer ces enregistrements bidons aux sections vides de la feuille Avery.
Ou encore créer une nouvelle table temporaire contenant ces informations ??
Qu'en pensez vous ?
Merci à l'avance (encore)