XL 2019 Publipostage Excel vers word avec sélection

ggvad

XLDnaute Nouveau
Bonjour
Je souhaite faire un publipostage vers word avec une sélection d'un enregistrement, mais à l’édition j'ai toujours le même enregistrement qui s'imprime
dans mon Doc , j'ai bien un filtre et dans excel j'indique bien par un OK le produite
Merci pour votre aide
 

Pièces jointes

  • produits.zip
    13 KB · Affichages: 4

fanch55

XLDnaute Barbatruc
Code modifié dans le classeur :
VB:
Function attestation(wFicPublipostage) As Integer
  
If Application.CountA(Range("A2:A600")) = 0 Then
   MsgBox "Vous devez sélectionner un produit par un OK dans la colonne A Edit  " 'la plage est vide
Else
    Dim WordApp As Object, WordDoc As Object
    'Ouvrir Word
    Set WordApp = CreateObject("Word.Application")
    With WordApp
        Set WordDoc = .Documents.Open(ThisWorkbook.Path & "\" & wFicPublipostage)   'Ajout GVS
        With WordDoc.MailMerge
           .MainDocumentType = 0    'wdFormLetters
            .Destination = 1        'wdSendToPrinter
            .OpenDataSource Name:=ThisWorkbook.FullName, _
                ReadOnly:=True, AddToRecentFiles:=False, LinkToSource:=False, _
                SQLStatement:="SELECT * FROM [PubliPost$] WHERE Edit = 'ok'"
            .Execute
        End With
        .activedocument.Close False
        .Quit
     End With
    'Fermez le document Word, pas besoin d'enregistrer les modifications.
    Set WordApp = Nothing
End If
End Function
 

ggvad

XLDnaute Nouveau
Code modifié dans le classeur :
VB:
Function attestation(wFicPublipostage) As Integer
 
If Application.CountA(Range("A2:A600")) = 0 Then
   MsgBox "Vous devez sélectionner un produit par un OK dans la colonne A Edit  " 'la plage est vide
Else
    Dim WordApp As Object, WordDoc As Object
    'Ouvrir Word
    Set WordApp = CreateObject("Word.Application")
    With WordApp
        Set WordDoc = .Documents.Open(ThisWorkbook.Path & "\" & wFicPublipostage)   'Ajout GVS
        With WordDoc.MailMerge
           .MainDocumentType = 0    'wdFormLetters
            .Destination = 1        'wdSendToPrinter
            .OpenDataSource Name:=ThisWorkbook.FullName, _
                ReadOnly:=True, AddToRecentFiles:=False, LinkToSource:=False, _
                SQLStatement:="SELECT * FROM [PubliPost$] WHERE Edit = 'ok'"
            .Execute
        End With
        .activedocument.Close False
        .Quit
     End With
    'Fermez le document Word, pas besoin d'enregistrer les modifications.
    Set WordApp = Nothing
End If
End Function
Merci, l'impression fonctionne, mais je ne sais pas pourquoi il crée une copie en lecture seule du fichier excel test.xlsm qui reste ouverte?
 

Pièces jointes

  • Capture.PNG
    Capture.PNG
    47.5 KB · Affichages: 11

Statistiques des forums

Discussions
315 127
Messages
2 116 516
Membres
112 765
dernier inscrit
SIDIANW