GNT sans publicité, site mobile, fonctionnalitées exclusives...

impression etiquette unique

Le
Jean Martin
Bonjour,

A partir d'une table "Contacts" j'ai créé une requête paramétrée en vue
d'établir une étiquette unique. A l'aide de l'assitant Etat Etiquette, je
peux appeler à tout moment une étiquette en fonction des besoins. Le
problème est que la position de l'étiquette se trouve toujours sur le côté
supérieur gauche de la feuille à imprimer. Je voudrais pouvoir, au fur et à
mesure de l'impression d'une étiquette unique, déplacer la zone d'impression
en fonction du nombre d'étiquettes encore disponibles sur la feuille.

Exemple: sur une feuille avec 7 étiquettes en ligne et 3 en colonne (21
étiquettes possibles réparties de la façon suivante:

1 2 3
4 5 6
.
19 20 21

Comment arriver à commander l'impression de l'étiquette à l'emplacement 15,
19 ou 21?

Merci à qui ma donnera une solution

Jean
Lire les 14 réponses

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 3
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
3stone
Le #4554191
Salut,

"Jean Martin"
A partir d'une table "Contacts" j'ai créé une requête paramétrée en vue
d'établir une étiquette unique. A l'aide de l'assitant Etat Etiquette, je
peux appeler à tout moment une étiquette en fonction des besoins. Le
problème est que la position de l'étiquette se trouve toujours sur le côté
supérieur gauche de la feuille à imprimer. Je voudrais pouvoir, au fur et à
mesure de l'impression d'une étiquette unique, déplacer la zone d'impression
en fonction du nombre d'étiquettes encore disponibles sur la feuille.



Colle ceci dans ton état...


Option Compare Database
Option Explicit

Public intToSkip As Integer
Public intSkipped As Integer

' Propriété de la zone Détail - Événement "Sur impression"
Private Sub Détail_Print(Cancel As Integer, PrintCount As Integer)
If intSkipped < intToSkip Then
Me.NextRecord = False
Me.PrintSection = False
intSkipped = intSkipped + 1
End If
End Sub


' Propriété de l'état - Événement "Sur ouverture"
Private Sub Report_Open(Cancel As Integer)
DoCmd.Maximize
Dim intEttiket As String, msg As String
msg = "Si vous voulez laisser des étiquettes vides en début de page:" & vbCrLf & vbCrLf & _
"|=> Entrez le nombre d'étiquettes vides s.v.pl."

intEttiket = inputbox(msg, "Attention")

If IsNull(intEttiket) Then
Cancel = True
Else
intToSkip = Val(intEttiket)
End If
End Sub



Ok ?


--
A+
Pierre (3stone) Access MVP
--------------------------------------
Une pour tous, tous pour une ;-)
http://users.skynet.be/mpfa/charte.htm
--------------------------------------

Jean Martin
Le #4897291
Bonjour Pierre,

Merci de ta réponse. Je vais essayer de la mettre en oeuvre et je te dis
quoi...

Jean


"3stone" news:3fbd4f02$0$16852$
Salut,

"Jean Martin"
A partir d'une table "Contacts" j'ai créé une requête paramétrée en vue
d'établir une étiquette unique. A l'aide de l'assitant Etat Etiquette,
je


peux appeler à tout moment une étiquette en fonction des besoins. Le
problème est que la position de l'étiquette se trouve toujours sur le
côté


supérieur gauche de la feuille à imprimer. Je voudrais pouvoir, au fur
et à


mesure de l'impression d'une étiquette unique, déplacer la zone
d'impression


en fonction du nombre d'étiquettes encore disponibles sur la feuille.



Colle ceci dans ton état...


Option Compare Database
Option Explicit

Public intToSkip As Integer
Public intSkipped As Integer

' Propriété de la zone Détail - Événement "Sur impression"
Private Sub Détail_Print(Cancel As Integer, PrintCount As Integer)
If intSkipped < intToSkip Then
Me.NextRecord = False
Me.PrintSection = False
intSkipped = intSkipped + 1
End If
End Sub


' Propriété de l'état - Événement "Sur ouverture"
Private Sub Report_Open(Cancel As Integer)
DoCmd.Maximize
Dim intEttiket As String, msg As String
msg = "Si vous voulez laisser des étiquettes vides en début de page:" &
vbCrLf & vbCrLf & _

"|=> Entrez le nombre d'étiquettes vides s.v.pl."

intEttiket = inputbox(msg, "Attention")

If IsNull(intEttiket) Then
Cancel = True
Else
intToSkip = Val(intEttiket)
End If
End Sub



Ok ?


--
A+
Pierre (3stone) Access MVP
--------------------------------------
Une pour tous, tous pour une ;-)
http://users.skynet.be/mpfa/charte.htm
--------------------------------------







Jean Martin
Le #4896811
Bonjour ou bonsoir,

Je viens de terminer un essai chez moi. Après bien des hésitations sur la
façon de "coller" j'ai réussi à mettre les choses en place et ça a l'air de
fonctionner. Je demande d'imprimer l'étiquette à la 5ème place de la feuille
et c'est ce qu'il fait !!!

Merci pour la satisfaction offerte,

Jean




"3stone" news:3fbd4f02$0$16852$
Salut,


Colle ceci dans ton état...


Option Compare Database
Option Explicit

Public intToSkip As Integer
Public intSkipped As Integer

' Propriété de la zone Détail - Événement "Sur impression"
Private Sub Détail_Print(Cancel As Integer, PrintCount As Integer)
If intSkipped < intToSkip Then
Me.NextRecord = False
Me.PrintSection = False
intSkipped = intSkipped + 1
End If
End Sub


' Propriété de l'état - Événement "Sur ouverture"
Private Sub Report_Open(Cancel As Integer)
DoCmd.Maximize
Dim intEttiket As String, msg As String
msg = "Si vous voulez laisser des étiquettes vides en début de page:" &
vbCrLf & vbCrLf & _

"|=> Entrez le nombre d'étiquettes vides s.v.pl."

intEttiket = inputbox(msg, "Attention")

If IsNull(intEttiket) Then
Cancel = True
Else
intToSkip = Val(intEttiket)
End If
End Sub



Ok ?


--
A+
Pierre (3stone) Access MVP
--------------------------------------
Une pour tous, tous pour une ;-)
http://users.skynet.be/mpfa/charte.htm
--------------------------------------






3stone
Le #4896741
Salut,

"Jean Martin"
Je viens de terminer un essai chez moi. Après bien des hésitations sur la
façon de "coller" j'ai réussi à mettre les choses en place


Les "en-têtes" désignait pourtant clairement les sub concernées ;-)


et ça a l'air de fonctionner.


Pas seulement l'air... je m'en sert plusieurs fois par semaine
sans jamais de problème.


Merci pour la satisfaction offerte,


Merci pour le retour...


--
A+
Pierre (3stone) Access MVP
--------------------------------------
Une pour tous, tous pour une ;-)
http://users.skynet.be/mpfa/charte.htm
--------------------------------------

Jean Martin
Le #4895691
Bonjour Pierre,

Mes hésitations: je veux dire que dans un premier temps, comme je suis très
novice en VBA, j'ai simplement recopié ton texte dans un module pour
constater ensuite qu'il ne fonctionnait pas. Normal: je n'avais aucune
liaison entre le texte et mon état!
Ce n'est qu'après réflexion que j'ai compris tes deux "en-têtes".

Lorsque je disais 'ça avait l'air de fonctionner', c'est que je l'avais
testé chez moi. Je suis aller l'implémenter aujourd'hui au bureau: et je dis
"Ca marche!". Merci

Il me vient maintenant l'idée qu'il m'arrive de devoir faire deux ou
plusieurs, ... étiquettes pour un même client. Pourrais-tu complèter le
code dans ce sens.

Merci d'avance,

Jean



"3stone" news:3fbfd58a$0$28304$
Salut,

"Jean Martin"
Je viens de terminer un essai chez moi. Après bien des hésitations sur
la


façon de "coller" j'ai réussi à mettre les choses en place


Les "en-têtes" désignait pourtant clairement les sub concernées ;-)


et ça a l'air de fonctionner.


Pas seulement l'air... je m'en sert plusieurs fois par semaine
sans jamais de problème.


Merci pour la satisfaction offerte,


Merci pour le retour...


--
A+
Pierre (3stone) Access MVP
--------------------------------------
Une pour tous, tous pour une ;-)
http://users.skynet.be/mpfa/charte.htm
--------------------------------------








Publicité
Suivre les réponses
Poster une réponse
Anonyme