IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Word Discussion :

MACRO decoupage publiostage impression


Sujet :

Word

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2013
    Messages : 8
    Points : 3
    Points
    3
    Par défaut MACRO decoupage publiostage impression
    Bonjour,


    J'ai utilisé cette macro afin de couper un publipostage par enregistrement et l'envoyer en impression.
    "Ctrl+C" merci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    ............... 
    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

    Ps: Merci a olivier Lebeau pour son travaille dans la FAQ. Ca aide beaucoup ! J'y ai pris la macro

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    As-tu un message d'erreur ?
    Si non, quel est le résultat obtenu ?
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2013
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    Je n'ai pas de message d'erreur,
    aucun résultat,
    le fichier WORD se ferme.

    ++

  4. #4
    Membre éclairé Avatar de Souriane
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2009
    Messages
    541
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2009
    Messages : 541
    Points : 758
    Points
    758
    Par défaut
    Bonjour lhez14!

    J'ai regardé très rapidement ton code. Ce pourrait-il que cette ligne soit erronnée?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .DataSource.LastRecord = i
    À mon avis, elle devrait plutôt indiquer ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .DataSource.LastRecord = iR
    Bonne chance!

    Souriane
    __________________________________
    Une question bien posée est à moitié résolue!

    Merci de ne pas oublier de mettre RÉSOLU quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche

  5. #5
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut Souriane,

    Le code est un copier coller du tuto et il fonctionne.


    Toutes les lignes de ton document texte sont remplies ?

    Si une ligne est vide, word ne peut pas attribuer un nom et une erreur est générée.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  6. #6
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2013
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    Bonjour,

    Toutes les lignes du textes sont remplies,
    Pas tous les champs !
    cela pose problème ?

    ex du 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


    ! Merci de votre aide !

    ++

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2013
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    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


    ++

  8. #8
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2013
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    Merci Souriane,

    J'ai fais le test, pas d'évolution.
    Avec Xls. c'est ok
    Avec TXT. rien ne se passe,


    ++

  9. #9
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    C'est avec les mêmes données que tu remplis le xls ?

    Dans ton txt, tu as un champ vide pour le premier enregistrement.

    Essaie d'y mettre un espace ; ; au lieu de ;;
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  10. #10
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2013
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    C'est avec les mêmes données que tu remplis le xls ?
    Je viens le faire avec les données txt converti en xls, ca marche.

    Dans ton txt, tu as un champ vide pour le premier enregistrement.
    Essaie d'y mettre un espace ; ; au lieu de ;;
    ca na pas marché.

    il n'y a pas une ligne de code qui fait référence au xls qu'il faudrait changer ?

    ++

  11. #11
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2013
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    Comment compter en VBA le nombre d'enregistrement d'un publipostage en Word avec pour source de donnée un txt. ?

    iR = oDoc.MailMerge.DataSource.RecordCount
    la j'obtiens bien la bonne réponse avec une source de donnée un xls

    mais quand je lance ma macro avec une source de donnée un txt la réponse est fausse !

    merci de votre aide

Discussions similaires

  1. [WD-2003] Formulaire et macro aperçu avant impression
    Par mikadoo57 dans le forum VBA Word
    Réponses: 10
    Dernier message: 10/02/2013, 10h37
  2. [XL-2010] macro zone d'impression
    Par duplaly dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 06/04/2011, 16h57
  3. [Toutes versions] Macro, tri et impression
    Par michel0 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 18/05/2010, 00h36
  4. Macro Pour L'impression de lien Hypertexte
    Par outlaw971 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 05/12/2008, 14h04
  5. Macro pour une impression ne fonctionne pas
    Par aujero dans le forum Access
    Réponses: 2
    Dernier message: 01/06/2006, 17h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo