XL 2019 Publipostage Excel vers word avec sélection

  • Initiateur de la discussion Initiateur de la discussion ggvad
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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
 
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
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
58
Réponses
1
Affichages
242
Réponses
10
Affichages
567
  • Question Question
Microsoft 365 Publipostage WORD
Réponses
2
Affichages
848
Réponses
7
Affichages
1 K
Retour