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