Publipostage Excel vers Word (+ Code Barre à venir)

Bonjour,

On m'a transmis un fichier EXCEL avec des données que je dois mettre sous forme d'étiquettes sur Word avec un modèle AVERY. Je pensais faire du publipostage

Chaque modèle AVERY comporte 24 étiquettes donc je dois pour chaque feuille AVERY mettre en forme 24 étiquettes maximum.

Dans mon XL j'ai coloré les données à mettre sous forme d'étiquettes.

J'ai commencé à écrire un début de macro mais je ne sais pas comment faire la boucle pour les 24 étiquettes.

Je pensais faire : Pour la 1ère étiquette, je récupère les données A1 à D3, pour la deuxième étiquette, je récupère les données de E1 à H3, pour la troisième étiquette je récupère les données de A4 à C6, et ainsi de suite. Quand on arrivera à 24 étiquette on imprimera le Word grâce à la macro VBA et on poursuit avec une nouvelle planche d'étiquettes...

Pourriez vous m'aider svp ou me proposer des axes d'amélioration (PS: je suis novice, merci d'être indulgent !)

PS: Je poste un exemple, ca ne sera pas mon fichier de travail.

9jb.zip (26.52 Ko)

Bonne journée

JB

Bonjour

Un publipostage nécessite :

  • une liste de données avec des titres et des données en dessous (tableau structuré
  • une modèle de fusion Word

Pas besoin de code VBA

Voir cette vidéo https://support.microsoft.com/fr-fr/office/vid%C3%A9o-cr%C3%A9er-des-%C3%A9tiquettes-avec-le-publipo...

J'ai modifié l'Excel et créé le Word : à l'ouverture du Word le fichier Excel doit être fermé et tu auras à modifier le chemin vers ce fichier

3avery-l6141-b.zip (39.29 Ko)

Bonjour,

Merci beaucoup pour votre réponse. Malheureusement mon fichier de données est déjà bien alimenté et je ne peux pas modifié la structure. C'est pour cela que je voulais passer par du VBA sinon j'ai bien vu des vidéos en ligne ou je pouvais faire du publipostage avec un fichier source sous forme de tableau structuré. Dans mon cas je voudrais faire comme du publipostage en passant par VBA. Je cherche simplement à créer une boucle sur 24 étiquettes puis ainsi de suite en fonction du nombre de lignes dans Excel.

Auriez-vous une piste s'il vous plaît ?

Encore merci pour votre partage et votre intérêt à ma problématique.

Bonne journée

Jb

Re

Dans ce cas, quel intérêt de fournir un fichier Word ?

Si on fait par VBA il est plus simple d'imprimer directement depuis un onglet Excel correctement formaté...

Une structure avec 2 colonnes à répartir sur 3 colonnes d'étiquettes : bonjour la boucle...

Il est bien plus simple de créer une structure compatible avec Word via une requête PowerQuery (intégré à Excel 2016)

(j'ai créé 167X2 étiquettes) pour montrer la faisabilité...

Bonjour,

Pas de souci je comprends. Comment êtes-vous passé de l'onglet Données étiquettes à Table publipostage ?

Est-ce que cela va fonctionner si je remplace le code par un code barre ?

Merci à vous

JB

RE

Comme je l'ai dit via une requête PowerQuery

Dans la mesure où on utilise une police adéquate, oui

image

ou

Super ! Alors comment adapter votre fichier pour que ça fonctionne avec mon modèle Word Avery ?

Merci en tout cas

Jb

RE

Dans le fichier Excel il y a :

Une plage nommée Date (voir gestionnaire de noms : à créer dans ton vraie fichier selon la même formule (si ton exemple est bien représentatif sinon dapater)

Une requête PowerQuery que tu peux copier coller dans ton fichier.

Ensuite dans Word il faut lier ton fichier et le tableau résultant de la requête comme source de destinataire

Je l'ai intégré dans ton doc (converti en docx) : il faudra

  • à l'ouverture modifier le chemin vers ton fichier
  • adapter la police du code barre sur la 1ère étiquette
  • propager sur toutes les étiquettes (onglet Publipostage, Mettre à jour les étiquettes)
7avery-l6141.zip (14.49 Ko)

Bonjour,

J'ai essayé mais dans Word je n'ai qu'une page avec mes étiquettes, vous savez pourquoi ? Et le département 75 n'apparait pas partout après la requête.

Merci

JB

RE

On ne voit qu'une page tant qu'on lance pas la fusion publipostage, soir vers l'imprimante (pas conseillé, soit vers un document qu'on peut vérifier avant d'imprimer.

C'est le principe du publipostage : montrer le modèle pas la fusion avant qu'elle soit faite

S'il te manque des départements cela vient sans doute de ton fichier original : ne l'ayant je ne peux voir où est le problème...

Sans doute mal positionné dans ta liste et de ce fait non trouvé où il est supposé figurer...

Re,

Ok je comprends :) Par contre pour les départements manquants ils n'apparaissent pas tous dans le fichier que vous avez publié, c'est pour cela que je me suis permis de vous poser la question :)

Si possible j'aimerais que les étiquettes soient sous cette forme:

image

Merci !

RE

Il y avait effectivement une erreur dans la requête.

Quelle police utilisez-vous pour le code Barre ? Certaines ont le nombre sous le code, d'autres pas...

Re,

Ca semble parfait pour un des onglets EXCEL. Par contre comment faire de même pour les autres onglet de mon classeur ? Le copier/coller ne semble pas fonctionner ou alors il y a quelques chose que je ne mets pas à jour...

Merci pour votre aide en tout cas.

JB

RE

Tu as plusieurs onglets avec des codes ?

Si ton exemple ne représente pas ton cas réel et que tu ne données pas toutes les infos, on y sera encore à Noël...

Fournis un cas représentatif...

Re

C'est la même chose pour tous mes onglets, juste le nombre de lignes qui varient. Je vous demande comment je dois faire pour les autres onglets... Copier la requete PowerQUERY ok je vois comment faire mais comment modifier la source de données avec le bon onglet, c'est ça ma question :)

Je poste un exemple avec 3 onglets différents : Données étiquettes; Données étiquettes_2;Données étiquettes_3

Merci

Re

En dupliquant les onglets tu mets le souk dans la plage nommée : elle passe en portée Onglet et non Classeur dont inutilisable alors qu'il faut un nom distinct par plage et une portée classeur.

Si tu as tantôt 2 listes, tantôt une, ce n'est plus le même requête.

Un peu de rigueur dans la demande...

Tu comptes imprimer tous les onglet ou bien une au choix ?

OK, je peux renommer les onglets qui seront à prendre dans la requête POWERQUERY, pas de souci

Le but est d'imprimer plusieurs onglets oui mais je ne peux pas mettre la version originale ici car c'est professionnel, donc je me base sur un exemple :(

On peut nommer les onglets AAA, BBBB, CCCC,... si c'est plus facile pour vous. Sinon je peux créer un classeur par onglet aussi, pas de souci je m'adapte ! (une dizaine d'onglets à traiter par publipostage)

Merci !

RE

Le nom de l'onglet importe peu, c'est le nom de la plage nommée qui compte.

Tu réponds à moitié...

Je ne sais pas faire sur de l'à peu près...

On imprime 1 plage, n plages au choix, toutes les plages ?

Y a combien de cas différents ? 1 seule étiquette, 2 de front, plus ?

Qu'entendez vous par 1 plage, n plages ou toutes les plages ?

Il y a des onglets avec 2 étiquettes de front et d'autres non donc 2 cas

Désolé mais je ne maitrise pas vos termes sous EXCEL

Que voulez-vous dire par "portée Onglet" et "plage", "liste"

Je vous redis, il m'est possible de faire 1 classeur EXCEL pour chaque onglet si cela facilite le traitement

Merci :)

RE

Quand on imprime on imprime systématiquement tout ou bien il faut pouvoir choisir 1 ou n plages (partie étiquettes d'un onglet) ?

Rechercher des sujets similaires à "publipostage word code barre venir"