Marco découpage publipostage

Fermé
lhez Messages postés 35 Date d'inscription lundi 9 mai 2011 Statut Membre Dernière intervention 17 juillet 2014 - 4 déc. 2013 à 15:05
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 - 6 déc. 2013 à 16:09
Bonjour,


J'ai utilisé cette macro afin de couper un publipostage par enregistrement et l'envoyer en impression.
...............
Sub edi54()
' 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
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 = wdSendToPrinter
' 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
DocName = DocName & "-" & .DataSource.DataFields(2).Value
Debug.Print DocName; i

End With
Next i

ActiveWindow.Close
Application.Quit
End Sub
...............

Elle fonctionne parfaitement avec une base de donnée xls.

Malheureusement pas avec une base txt. (séparation des enregistrements par ;)
Quelqu'un a une idée du pourquoi ?

Bonne journée.
Julien

8 réponses

lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
4 déc. 2013 à 15:50
Bonjour,
Probablement que les données sorties du fichier Txt n'ont pas la même configuration (integer, texte, double.. etc.)
Vérifie les contenus avec du xls et compare avec du txt.
A+

1
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
4 déc. 2013 à 16:34
Voir le format des cellules quand tu est en xls.
Modifier le format des colonnes quand tu est en Txt.
Eventuellement ajouter la modif dans la macro.
A+
1
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
5 déc. 2013 à 14:58
Comment tu importe le fichier texte ?
Sous quel forme est ta BD sur xls ?
1
lhez Messages postés 35 Date d'inscription lundi 9 mai 2011 Statut Membre Dernière intervention 17 juillet 2014 1
4 déc. 2013 à 15:59
Merci pour l'attention,

Les contenus sont totalement différents,
il faudrait que j'adapte la Marco au données txt.(;)
je ne vois pas comment ?
integer ?

encore merci =)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lhez Messages postés 35 Date d'inscription lundi 9 mai 2011 Statut Membre Dernière intervention 17 juillet 2014 1
5 déc. 2013 à 09:27
Bonjour,

Je ne comprends pas ?

Mon txt

Nom;Prenom;Civ;Adr1;Adr2;Adr3;CP;Ville;Pays
Ledoux;;Madame;18 rue du lac;;;06250;Mougins;France
Bernard;Jean;255;chemin de la plaine;les chardelles;06250;Mougins;France

++
0
lhez Messages postés 35 Date d'inscription lundi 9 mai 2011 Statut Membre Dernière intervention 17 juillet 2014 1
5 déc. 2013 à 09:35
motif au Txt ;

Nom;Prenom;Civ;Adr1;Adr2;Adr3;CP;Ville;Pays
Ledoux;;Madame;18 rue du lac;;;06250;Mougins;France
Bernard;Jean;Monsieur;255;chemin de la plaine;les chardelles;06250;Mougins;France


++
0
lhez Messages postés 35 Date d'inscription lundi 9 mai 2011 Statut Membre Dernière intervention 17 juillet 2014 1
Modifié par lhez le 6/12/2013 à 16:04
Salut lermite222,

Un publipostage automatisé par un logiciel sous Access.
La BD est sous la forme standard.
les champs d'enregistrement sont sur la première ligne avec pour séparation des saut de colonne et les enregistrement se suivent sous le même principe en sautant les lignes les uns après le autres.

Je pense avoir trouvé le problème (pas la solution =)),
Cette ligne de code fait référence a la suite Office :

iR = oDoc.MailMerge.DataSource.RecordCount


J'obtiens bien la réponse avec une source de donnée un xls

Quand je lance ma macro avec une source de donnée un txt la réponse est fausse !
J'ai peur que cette ligne de code qui fait référence a la suite Office ne soit pas compatible avec le Txt.

En gros j'ai une nouvelle question =)
Comment compter en VBA le nombre d'enregistrement d'un publipostage en Word avec pour source de donnée un Txt. ?

merci de votre aide

++
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
6 déc. 2013 à 16:09
Décidément nous avons des difficultés à nous retrouvez sur les même rails. !!
Alors essaye de répondre le plus clairement possible aux questions.
comment est construit ton document Excel ? une feuille, un classeur ?
Tu pourrais poster une exemple (sans données confidentielle) sur Cjoint.com, et mettre le lien sur un poste suivant. Si tu n'a pas la possibilité de mettre un fichier sans donnée confidentielle met le lien sur un MP à mon pseudo..
Idem pour ton fichier text.
A+

0