Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Word > VBA Word

Réponse
 
Outils de la discussion
Vieux 14/11/2008, 09h25   #1 (permalink)
Invité régulier
 
Date d'inscription: octobre 2008
Messages: 17
Par défaut [W-03]Diviser un publipostage

Bonjour,

Je viens de fusionner une base de données Excel contenant des données à propos de clients, et une lettre type Word dans laquelle je viens insérer différents champs de fusion.

J'obtiens donc un seul fichier de 400 pages environ, et j'aimerais le diviser toutes les deux pages (c'est à dire, pour chaque client, une lettre et un récapitulatif de leurs conditions), et idéalement renommer chaque fichier créé avec un titre contenant le nom du client, et cerise sur le gateau, en format pdf.

Le gros problème, c'est que je n'ai jamais travaillé avec VBA Word, et que je n'ai aucune idée de comment diviser un document. Peut-être que vous avez des indices pour moi?
neiluj26 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 14/11/2008, 10h31   #2 (permalink)
Responsable Word
 
Avatar de Heureux-oli
 
Date d'inscription: février 2006
Localisation: Morlanwelz (Carnières)
Âge: 44
Messages: 10 459
Par défaut

Salut,

Je vais te donner un lien vers un tuto où il est question de publipostage et d'enregistrement de document pour chaque ligne.

http://heureuxoli.developpez.com/off.../publipostage/
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Ne posez pas de question par MP, c'est inutile.
Les rubriques Office recrutent.
Ma page d'accueil
Consultez nos FAQ !! Word ; Access ; Outlook ; Excel ; PowerPoint ; SharePoint
Si vous pensez que certains sujets manquent dans la FAQ, aidez nous !
Des images
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 14/11/2008, 12h27   #3 (permalink)
Invité régulier
 
Date d'inscription: octobre 2008
Messages: 17
Par défaut

Merci du tutoriel, mais il y a encore quelque chose qui m'échappe. Un truc bête, je suis sûr.

J'ai utilisé le code indiqué dans le tuto pour diviser les enregistrements, en ajoutant une ligne de commande pour ouvrir ma base de données (donc mon document est bien un document principal de fusion).
J'ai aussi spécifié le dossier de destination des enregistrements, mais je coince au niveau de cette ligne:

Code :
iR = MailMerge.DataSource.RecordCount
J'obtiens une erreur 424 "Objet requis". Je suppose qu'il faut que je déclare ma datasource quelque part, mais je ne sais pas exactement comment faire. Je ne pratique que depuis quelques mois.
neiluj26 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 14/11/2008, 12h38   #4 (permalink)
Responsable Word
 
Avatar de Heureux-oli
 
Date d'inscription: février 2006
Localisation: Morlanwelz (Carnières)
Âge: 44
Messages: 10 459
Par défaut

En ajoutant une ligne, peux-tu nous mettre cette ligne ?
Le code donné fonctionne pour un document principal de fusion, ce qui signifie que le document possède déjà une source de données.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Ne posez pas de question par MP, c'est inutile.
Les rubriques Office recrutent.
Ma page d'accueil
Consultez nos FAQ !! Word ; Access ; Outlook ; Excel ; PowerPoint ; SharePoint
Si vous pensez que certains sujets manquent dans la FAQ, aidez nous !
Des images
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 14/11/2008, 13h47   #5 (permalink)
Invité régulier
 
Date d'inscription: octobre 2008
Messages: 17
Par défaut

J'ai ajouté cette ligne après les déclarations de variables:

Code :
' Ouverture de la ds
ActiveDocument.MailMerge.OpenDataSource Name:="le nom du fichier source de données.xls"
 
Peut-être que je ne lance pas le code au bon moment? Je vais relire le tuto.
neiluj26 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 14/11/2008, 14h33   #6 (permalink)
Invité régulier
 
Date d'inscription: octobre 2008
Messages: 17
Par défaut

J'ai trouvé. J'ai modifié la ligne qui posait problème en ceci:

Code :
iR = oDoc.MailMerge.DataSource.RecordCount
Et tout marche. Merci du tuto.
neiluj26 est déconnecté   Envoyer un message privé Réponse avec citation
NEWS MS-OFFICEFAQs OFFICETUTORIELS OFFICELIVRES OFFICESOURCES VBA

Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Word > VBA Word



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide