Bonjour à tous,
Je travaille sur un fichier, où l'on rentre les noms des personnes qui font une formation.
Ensuite j'envois les données dans un autre fichier excel qui recupere les noms des personnes qui sont validés pour la formation.
Grâce à ce dernier fichier, je fais un publipostage sur word.
J'obtiens un word pour chaque personne validé la formation.
Mon probleme est que le comptage des personnes de fonctionne plus apparemment parce que si j'ai deux personnes dans mon fichier excel, il me sort 597 document word!!
Donc si quelqu'un pouvait m'aider, j'ai mis le code dessous MERCI!
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
32
33
34
35
36
37
38 Sub Bouton774_Clic() 'bouton afficher convocation 'Nécessite d'activer la référence "Microsoft Word xx.x Object Library" Dim docWord As Word.Document Dim appWord As Word.Application Dim NomBase As String NomBase = "R:\Temp_Excel_Pierre_Pascal\bases_formations\Expression_oral.xls" Application.ScreenUpdating = False Set appWord = New Word.Application appWord.Visible = True 'Ouverture du document principal Word Set docWord = appWord.Documents.Open("R:\Temp_Excel_Pierre_Pascal\convocation2012.doc") 'fonctionnalité de publipostage pour le document spécifié With docWord.mailMerge 'Ouvre la base de données .OpenDataSource Name:=NomBase, _ Connection:="Driver={Microsoft Excel Driver (*.xls)};" & _ "DBQ=" & NomBase & "; ReadOnly=True;", _ SQLStatement:="SELECT * FROM [Feuil1$]" 'Spécifie la fusion vers l'imprimante .Destination = wdSendToNewDocument .suppressBlankLines = True 'Prend en compte l'ensemble des enregistrements With .DataSource .firstRecord = wdDefaultFirstRecord .lastRecord = wdDefaultLastRecord End With 'Exécute l'opération de publipostage .Execute Pause:=False End With Application.ScreenUpdating = True End Sub
Partager