Imprimer plusieurs étiquettes identiques

A partir d’un état qui imprime une planche d’étiquettes, comment faire en sorte que chaque étiquette soit imprimée plusieurs fois ?

Mise en place

Pour plus de souplesse, on va passer par un peu de code Visual Basic. Au moins 2 avantages avec cette technique :

  • le nombre d’étiquettes sera très facile à paramétrer ;
  • on ne touche pas aux enregistrements de la table (même si vous avez besoin de 5 étiquettes par client, on ne stockera qu’un seul client dans la table).

Je suppose que vous avez déjà construit l’état qui maquette la planche d’étiquettes standard (1 étiquette par client, dans notre exemple). On va aménager cet état pour obtenir des étiquettes multiples :

  1. Ouvrez votre état en mode Création.
  2. Faites apparaître les propriétés de la zone Détail, onglet Evénement.
  3. Réglez l’événement Sur impression sur Procédure événementielle, à l’aide de la liste déroulante.
  4. Cliquez sur les points de suspension à droite de cette liste. Vous accédez au code Visual Basic de l’événement.
  5. Aménagez le code Visual Basic pour obtenir :

Au-dessus de ce bloc de code (avant le bloc Sub), déclarez la variable globale intCompteur de cette manière :

Impression des étiquettes

Le nombre d’étiquettes est paramétré à l’aide des arguments de l’état (OpenArgs), ce qui permet de conserver un fonctionnement standard pour l’état. Si vous double-cliquez sur l’état pour l’ouvrir manuellement, 1 seule étiquette sera imprimée, comme d’habitude. Vous obtenez le même résultat si vous imprimez les étiquettes en VBA par la commande :

Maintenant, si vous souhaitez 3 étiquettes pour chaque client, il suffit de donner une valeur à OpenArgs (6ème paramètre de OpenReport), de cette manière :

(vous devez avoir 4 virgules avant le nombre 3).

Attention
De mémoire, la gestion de OpenArgs pour les états Access remonte à Access 2002. Le code ne marchera donc pas directement sur des versions plus anciennes.
Remarque
Dans cet exemple, toutes les étiquettes sont imprimées x fois. On verra demain comment imprimer les étiquettes en nombre variable, en fonction du client.

Vous aimerez aussi...

1 réponse

  1. hassen dit :

    Bravo pour ton site qui est pour moi une référence et merci pour tous ces tuyaux!

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *