Multifusion à l'aide d'un tableau dans un seul document

apt

XLDnaute Impliqué
Bonjour à tous,

J’aimerais réaliser un publipostage simple et multiple selon la référence de la décharge (Etiquette Réf/Bon de la colonne C dans la feuille Excel)

S’il n’y a qu’une ligne à fusionner, c’est un publipostage simple, et je dois utiliser le document de fusion "Décharge.doc", avec insertion des champs de fusion dans le texte seulement d’une lettre type.

S’il y a plus d’une ligne à fusionner, c’est un publipostage multiple, et je dois utiliser un deuxième document de fusion "Déchargetableau.doc", avec insertion des champs de fusion dans un texte en plus d’un tableau multi-lignes.

Dans l’exemple Excel fournie, il y a trois lignes à fusionner (Marquées par une croix « X » dans la colonne O) :

- Réf/Bon = 002/13 : 1 ligne => Fusion simple dans le document Décharge.doc

- Réf/Bon = 010/13 : 2 lignes => Fusion multiple dans le document DéchargeTableau.doc

1) Y a-t-il une possibilité de n’avoir qu’un document de fusion entre les deux documents présents dans l’exemple fournie ?

2) Comment dire à Word, dans le cas de la fusion multiple, qu’il y a plusieurs lignes à intégrer dans le tableau pour une seule référence (Ici Réf/Bon = 010/13) ?

Des liens que j’ai lu, mais je n’ai pu adapter l’exemple fournie à mon besoin :

WD98 : Comment faire pour fusionner un nombre conditionnel d'enregistrements dans la même page
WD2000 : Comment faire pour fusionner un nombre conditionnel d'enregistrements à la page


Merci d’avance.
 

Pièces jointes

  • Publipostage.zip
    25.3 KB · Affichages: 90
  • Publipostage.zip
    25.3 KB · Affichages: 96
  • Publipostage.zip
    25.3 KB · Affichages: 97

chris

XLDnaute Barbatruc
Re : Multifusion à l'aide d'un tableau dans un seul document

Bonjour

Un seul document suffit.

Ce fil peut t'aider https://www.excel-downloads.com/threads/publipostage-word-a-partir-dexcel.83281/ mais c'est la même logique qu ton lien WD2000 : Comment faire pour fusionner un nombre conditionnel d'enregistrements à la page

Tu ne peux pas avoir le résultat dans un tableau : les lignes les unes sous les autres.

Sinon il existe aussi une méthode en considérant les lignes détail comme une base de données. Décrit dans ce didacticiel (chapitre database) Word et le publipostage
 

apt

XLDnaute Impliqué
Re : Multifusion à l'aide d'un tableau dans un seul document

Bonsoir,

Voila ou j'en suis.

Le fichier joint fait bien le publipostage multiple à l'aide du champ de fusion DATABASE.

Seulement, dans le fichier de fusion, j'ai besoin de centrer le tableau résultant avec ajout automatique des numéros d'ordre pour les enregistrements fusionnés dans la premiere colonne N°.

Merci.
 

Pièces jointes

  • PublipostageMultiple.zip
    30 KB · Affichages: 93
  • PublipostageMultiple.zip
    30 KB · Affichages: 94
  • PublipostageMultiple.zip
    30 KB · Affichages: 96

apt

XLDnaute Impliqué
Re : Multifusion à l'aide d'un tableau dans un seul document

Bonjour Modeste geedee,

Merci pour le lien.

J'ai déja vu le champ de fusion {MERGESEQ}, mais je ne sais pas comment l'integrer dans le champ de fusion DATABASE qui fonctionne avec les requêtez SQL ?
 

apt

XLDnaute Impliqué
Re : Multifusion à l'aide d'un tableau dans un seul document

Bonjour à tous,

Voila une nouvelle version avec du code VBA Excel et Word.

Pour la numérotation des enregistrements dans le document WOrd, j'ai ajouté une colonne dans la feuille Excel avec cette formule pour compter le nombre d'occurence de chaque référeence :

Code:
=NB.SI($A$2:$A2;A2)

Reste à trouver une solution aux problèmes suivants :

- Problème pour publier tous les enregistrements marqués par une croix dans la feuille Excel.

- Formatage du tableau :

Le code se trouve bien mais rien ne se passe :

Code:
Private Sub Document_Open()
    TableOptimize
End Sub
'----------------------------------------
Code:
Sub TableOptimize()
    Dim myTable As Table
    'If Selection.Information(wdWithInTable) = False Then Exit Sub
    'Set myTable = Selection.Tables(1)
     Set myTable = Application.ActiveDocument.Tables(1)
    With myTable
        '.Range.Style = "ANewStyle"
        .AutoFitBehavior (wdAutoFitContent)
        '.AutoFormat Format:=wdTableFormatContemporary    '35
        'Ajustement des colonnes
        .AutoFitBehavior (wdAutoFitWindow)
        .AutoFitBehavior (wdAutoFitFixed)
        .AutoFitBehavior wdAutoFitContent
        'Bordures
        .Columns.Borders.Enable = True
        .Rows.Borders.Enable = True
        'Mettre les titres de la première ligne en gras
        .Rows.First.Range.Font.Bold = True
        'Centrer les titres
        .Rows(1).Alignment = wdAlignRowCenter
        'Centrer le contenu de la 1ère colonne
        .Columns(1).Cells.VerticalAlignment = wdCellAlignVerticalCenter
        'Réduire la largeur de la première colonne
        .Columns(1).Width = 15
        'Centrer le contenu de la 4ème colonne
        .Columns(4).Cells.VerticalAlignment = wdCellAlignVerticalCenter
      
    End With
End Sub


Merci.
 

Pièces jointes

  • PublipostageMultiple.zip
    42.9 KB · Affichages: 93
  • PublipostageMultiple.zip
    42.9 KB · Affichages: 97
  • PublipostageMultiple.zip
    42.9 KB · Affichages: 94

Discussions similaires

Statistiques des forums

Discussions
312 392
Messages
2 088 004
Membres
103 695
dernier inscrit
acimi