(J'espère avoir poster au bon endroit)
Je suis allé voir ici : http://heureuxoli.developpez.com/publipostage/
afin de faire un publipostage.
Sa méthode avec le doc BM Publipostage.doc a l'air de bien marcher
Toutefois, je voudrais modifier un peut:
La méthode qui est donnée, m'imprime tout les enregistrements (normal c'est la fonction du publipostage) mais moi (car je suis pas compliqué), je voudrais le faire sur un seul enregistrement avec trois conditions :
- Que sa le fasse sur une requête (pour ca pas de problème)
- Que se soit en fonction de la valeur d'un champs d'un formulaire encours (exemple champs "Réf" du formulaire "Form1")
- Mais aussi en fonction de la valeur d'un champs d'un autre formulaire encours (exemple champs "Ad" du formulaire "Form2")
Par exemple, sa m'imprime le doc de l'enregistrement de la requête dont le champ Réf = Machin et le champ Ad = Truc
Voici le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 Sub MergeBM() Dim wApp As Word.Application Dim chemin As String Dim rs As DAO.Recordset Dim db As DAO.Database Dim sql As String sql = "SELECT * from Employés" Set db = CurrentDb Set rs = db.OpenRecordset(sql) Set wApp = New Word.Application chemin = currentproject.path wApp.Visible = True While Not rs.EOF With wApp .Documents.Open (chemin & _\BM Publipostage.doc_) .ActiveDocument.Bookmarks("nom").Range.Text = rs.Fields("nom") .ActiveDocument.Bookmarks("prenom").Range.Text = rs.Fields("prénom") .ActiveDocument.PrintOut .ActiveDocument.Close (wdDoNotSaveChanges) End With rs.MoveNext Wend rs.Close Set rs = Nothing db.Close Set db = Nothing Set wApp = Nothing End Sub
Partager