|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : avril 2008 Messages : 8 ![]() |
Bonjour,
Je dois imprimer des étiquettes pour une tombola. J'ai un fichier lots.xls contenant une colonne "Intitulé" avec le nom du lot et une autre "Quantité" avec ka quantité de chacun des lots. J'aurais voulu créer une procédure automatique (publipostage ?) pour créer un document WORD avec autant d'étiquettes que d'intitulés et de quantité de lots. (Si j'ai 3 stylos et 5 casquettes, je voudrais 3 étiquettes "Stylos" et 5 étiquettes "Casquettes"). Comment m'y prendre ? Merci d'avance pour votre aide. PS : je ne connais rien au macro, alors merci de bien détailler les explications. |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 360 ![]() |
Bonjour,
Il va falloir mélanger du VBA et du publipostage. Le VBA, pour construire une liste exploitable en fonction du nombre d'objets par lot et ensuite passer au publipostage pour automatiser les étiquettes.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : avril 2008 Messages : 8 ![]() |
Tu pourrais me détailler un peu la marche à suivre. Me donner les différentes étapes à mener et avec quel logiciel, dans quel mode.
Je ne demande pas forcément un tutoriel qui prendrait bcp de temps à réaliser... mais au moins un chemin à suivre pour réaliser ma tache. D'avance merci pour ton aide. |
|
|
00
|
|
|
#4 | ||
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 360 ![]() |
On va appliquer la méthode des petits pas.
Le principe, on va dans un tableau Word affecter un nombre de ligne en rapport à la valeur de la case. Si on a ballon => 5, on va générer 5 cellules ou lignes dans le tableau. Le tout est de savoir si on connait le nombre de lignes utilisées en Excel. Si ce n'est pas le cas, il faudra les compter. On va tout faire au départ de Word. Pour la méthode des petits pas. Dans un module de Word (Alt + F11 pour ouvrir l'éditeur VBE) Double clic sur ThisDocument pour générer une module de document. Ensuite : Outils => Références => Ajouter la bibliothèque Microsoft Excel qui correspond à la version d'Excel qui est installée. Ajouter le code suivant : Code :
L'étape suivante sera l'ouverture d'un classeur existant. Le publipostage est très simple à faire.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
||
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : avril 2008 Messages : 8 ![]() |
OK donc j'ai copié le code, et cliqué sur "Exécuter" : cela m'a lancé Excel (youhou !). C'est déjà ça.
Maintenant je fait quoi ? Je copie mes valeurs dans le fichier Eccel qui s'est ouvert ? Je l'enregistre ? |
|
|
00
|
|
|
#6 | ||
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 360 ![]() |
Le but, c'est d'ouvrir ton fichier et d'y récupérer les valeurs.
Avec ces valeurs, on va faire une boucle pour ajouter un nombre de lignes dans un tableau Word. On reprend le premier code et on va le modifier un peu. Code :
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
||
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : avril 2008 Messages : 8 ![]() |
J'ai recopier coller la macro dans un fichier WORD tout neuf.
Placer le fichier etiquette.xls contenant tous les intitulés et leur quantité dans un dossier C:\Temp\ Mais quand je clique sur Exécuter, j'ai une erreur de syntaxe sur la ligne contenant le chemin du fichier (que j'ai pourtant vérifié) et une flèche jaune surligné sur la première ligne de la macro (sub...) Il y a un hic... |
|
|
00
|
|
|
#8 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 360 ![]() |
Dans ton document, tu dois déclarer la bibliothèque Excel.
Outils => Références => ...
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : avril 2008 Messages : 8 ![]() |
Bien vu c'était cela !
L'effet du code est pour le moment d'ouvrir le fichier Excel du dossier C:\Temp\ avec les colonnes "Article" et "Qty". Que faire ensuite pour arriver à générer les étiquettes ?? |
|
|
00
|
|
|
#10 | ||||||
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 360 ![]() |
Maintenant, on va récupérer les données de la feuille Excel.
L'une pour l'intitulé, et l'autre pour la quantité. Il va falloir récupérer la taille de la table en Excel. Pour la taille, on trouve une information ici On peut déjà l'intégrer dans notre code. Code :
Il va falloir ajouter un document avec une table et pouvoir l'utiliser dans notre code. Code :
On va faire deux boucles pour parcourir les lignes du fichier Excel et ajouter des lignes dans la tables Word. Code :
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
||||||
|
|
00
|
|
|
#11 |
|
Invité de passage
![]() Inscription : avril 2008 Messages : 8 ![]() |
ca devient intéressant
J'ai 60 lignes dans le tableau étiquette. Ma question : où dois-je entrer cette valeurs dans le code ? (malgrè les précieuses annotations, je n'ai pas trouvé...) |
|
|
00
|
|
|
#12 | ||
|
Invité de passage
![]() Inscription : avril 2008 Messages : 8 ![]() |
Je crois avoir trouvé : j'ai fait ça
Code :
Bon il n'en reste pas moins que je ne vois pas comment faire pour personaliser ce tableau... J'aurais aimé (je suis pénible On peut y arriver ? |
||
|
|
00
|
|
|
#13 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 360 ![]() |
Pour les étiquettes, il faut simplement lancer un publipostage classique.
Outils => Lettre et enveloppes et suivre le processus. C'est assez rapide. Tu dois spécifier que ce sera le fichier contenant la table qui vient d'être crée qui va servir de source de données.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
|
|
#14 |
|
Invité de passage
![]() Inscription : avril 2008 Messages : 8 ![]() |
Ok c'est super !!
Merci beaucoup !! C'est tout à fait ce que je voulais. Bonne fin de journée ! |
|
|
00
|
|
|
#15 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 360 ![]() |
Un petit
alors.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com