Publipostage

Word, PowerPoint, Outlook, Access et tous les autres logiciels de la suite Office (sauf Excel)
A
Archi-plans.com
Nouveau venu
Nouveau venu
Messages : 2
Inscrit le : 13 mai 2014
Version d'Excel : 2007

Message par Archi-plans.com » 13 mai 2014, 14:42

Bonjour à tous,

Voila, je cherche à faire un publipostage d’étiquette (jusqu'à la tous va bien) mais avec des quantités d'étiquettes différentes.

Je m'explique :
J'ai plusieurs produits avec des dimensions différentes, j'aimerais faire une étiquette pour chaque produit hors j'ai (par exemple) 7 caissons de 1.00 x 2.00 m, 2 caissons de 0.50 x 1.00 m etc. etc...

J'ai bien fait ma base de donnée depuis Excel mais lorsque je l'importe sur word, sa coince dans les quantités d’étiquettes.

Merci d'avance pour vos réponses.
Etiquette Mannequins PVC.docx
Trame Word
(20.71 Kio) Téléchargé 66 fois
Test BD.xlsx
Base de donnée
(9.42 Kio) Téléchargé 69 fois
B
Benead
Membre fidèle
Membre fidèle
Messages : 478
Appréciations reçues : 2
Inscrit le : 15 octobre 2011
Version d'Excel : 2007 FR 32bits- 2013 FR 64bits

Message par Benead » 14 mai 2014, 18:19

Bonsoir,

Je ne suis pas un spécialiste de Word, mais il ne me semble pas possible de faire ce que tu demandes avec les options natives du publipostage.
Pour pouvoir répondre à ta demande, je te propose une solution VBA Word à adapter à ton besoin. Dans ma solution, lorsqu'on exécute la macro, on compte le nombre de lignes d'étiquettes qui se trouvent dans le fichier Excel, donc modifie la requête du pubipostage pour ne prendre que les lignes du classeur Excel dont le nb d'étiquettes est supérieur à zéro (il faut faire un filtre avec l'option Modifier la liste de destinataires/Filtrer/Champ Quantité>0), ensuite le programme lit chacune des lignes, exécute le publipostage de la ligne et imprime la page créée en spécifiant le nb d'étiquettes souhaité, ensuite il supprime le classeur d'étiquettes que l'on vient d'imprimer.

Ajoute un module à ton document Word (Alt+T11), copie ce code dans le module, referme la fenêtre VBA et enregistre ton document.
Pour exécuter la macro : Alt+F8 ImprPublipostage.
Voici le code :
Option Explicit

Sub ImprPublipostage()
   Dim iNbEnr As Integer
   Dim iItem As Integer
   Dim Doc As Document
   Dim NbExp As String
   ' Chargement des variables
   Set Doc = ThisDocument
'   Set Source = Doc.MailMerge.DataSource
   iNbEnr = Doc.MailMerge.DataSource.RecordCount
   ' Boucle sur les lignes de la feuille Excel
   For iItem = 1 To iNbEnr
      With Doc.MailMerge
         'Définition du premier et dernier enregistrement
         .DataSource.FirstRecord = iItem
         .DataSource.LastRecord = iItem
         ' Envoi des données dans un nouveau document
         .Destination = wdSendToNewDocument
         ' Exécution du publipostage
         .Execute
         ' Actualisation de l'enregistrement
         .DataSource.ActiveRecord = iItem
         ' Impression des étiquettes en fonction du nombre précisé dans la colonne Quantité
         NbExp = .DataSource.DataFields("Quantité").Value
         If IsNumeric(NbExp) Then ActiveDocument.PrintOut Copies:=CInt(NbExp)
         ' Fermeture du document publiposté
         If Not (ThisDocument Is ActiveDocument) Then ActiveDocument.Close False
      End With
   Next iItem
End Sub
A+
Benoît Marchand
[Benead]
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message
  • Publipostage
    par ben68500 » 5 avril 2019, 18:05 » dans Office
    1 Réponses
    2443 Vues
    Dernier message par Xmenpl
    9 avril 2019, 10:49
  • publipostage
    par st mar » 24 novembre 2016, 11:59 » dans Excel - VBA
    6 Réponses
    478 Vues
    Dernier message par AFEH
    26 novembre 2016, 16:12
  • Publipostage
    par sl60 » 26 janvier 2018, 15:38 » dans Office
    2 Réponses
    3014 Vues
    Dernier message par Xmenpl
    4 février 2019, 10:23
  • Publipostage
    par lool » 18 décembre 2018, 11:57 » dans Excel - VBA
    2 Réponses
    227 Vues
    Dernier message par lool
    18 décembre 2018, 15:45
  • Publipostage
    par Sassi » 29 juin 2019, 19:36 » dans Office
    4 Réponses
    1503 Vues
    Dernier message par Sassi
    30 juin 2019, 20:12
  • Publipostage
    par fredbenoit » 18 juin 2019, 19:31 » dans Excel - VBA
    6 Réponses
    274 Vues
    Dernier message par fredbenoit
    19 juin 2019, 14:57