Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Publipostage Excel Word

captaindidi

XLDnaute Nouveau
Bonjour,
J'ai une base .xlsx que j'utilise pour un publipostage avec Word
J'aimerai créer automatiquement autant de fichier que d'enregistrement identique.
Je m'explique. Ma première colonne est composée comme suit:
A1 : bleu
A2 : orange
A3 : orange
A4 : jaune
A6 : jaune
A7 : jaune

J'aimerai au final avoir 3 fichiers:
1er fichier contenant 1 enregistrement
2e fichier contenant 2 enregistrements
3e fichier contenant 3 enregistrements

J'utilise le code suivant:

Sub Publipost_for_my_Doudou()
' Déclaration des variables
Dim iR As Integer
Dim i As Integer
Dim oDoc As Document
Dim DocName As String
Dim oDS As MailMergeDataSource

' Affectation des objets
Set oDoc = ActiveDocument
Set oDS = oDoc.MailMerge.DataSource
iR = oDoc.MailMerge.DataSource.RecordCount
iR = oDoc.MailMerge.DataSource.RecordCount
Debug.Print iR
For i = 1 To iR
With oDoc.MailMerge
'Définition du premier et dernier enregistrement
.DataSource.FirstRecord = i

.DataSource.LastRecord = i
' Envoi des données dans un nouveau document
.Destination = wdSendToNewDocument
' Exécution du publipostage
.Execute
' Actualisation de l'enregistrement pour la sauvegarde
.DataSource.ActiveRecord = i
'Utilisation de deux champs pour obtenir le nom du document
DocName = .DataSource.DataFields(1).Value
Debug.Print DocName; i
End With
' Sauvegarde du document publiposté
With ActiveDocument
.SaveAs "c:\temp\" & DocName & ".docx"
.Close
End With
Next i
End Sub

Toutefois ce code ne créé qu'un fichier contenant qu'un enregistrement
En plus, il écrase les fichiers précédents. En reprenant mon exemple je me retrouve avec un fichier "orange" avec les données de la ligne 3 car en créant le fichier il écrase celui contenant les données de la ligne 2
Pourriez-vous m'aider SVP
DFD
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…