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

VB 6 et antérieur Discussion :

Problème Publipostage Word


Sujet :

VB 6 et antérieur

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Problème Publipostage Word
    Bonjour,

    Je commande depuis mon application sous VB le publipostage de WORD.
    En effet, je crée depuis VB le document principal de Word (le doc word existe déjà mais n'est pas préprogrammé pour faire le publipostage), puis je fais un opendatabase sur un fichier texte (.txt) qui contient les données que je veux fusionner.
    Voici une partie du code / Fonction qui gère l'impression.
    Mon document texte est généré avec un n° aléatoire à la fin et est supprimé dès que la fusion est terminé.

    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
    Sub Impression_Word(Num_txt As Integer, Fichier_Reponse As String)
     
        Dim appWord As Word.Application
        Dim wdType As Word.Document 'Lettre Type
        Dim wdResultat As Word.Document 'Doc résultat de la fusion
     
        Set wdType = Nothing
        Set wdResultat = Nothing
     
        'Démarrer Word
        Set appWord = CreateObject("Word.application")
        appWord.Visible = True
     
        'ouvrir le document
        Set wdType = appWord.Documents.Open(App.Path + "/data/courriers/" + Fichier_Reponse)
     
        With wdType.MailMerge
            .MainDocumentType = wdFormLetters
            .OpenDataSource App.Path & "/Data/Resultat_SQL" & Num_txt & ".txt"
            .Destination = wdSendToNewDocument
            .Execute pause:=True
        End With
     
        'Fermeture du doc type
        wdType.Close wdDoNotSaveChanges
     
        'Récup du document actif = doc de fusion
        Set wdResultat = appWord.ActiveDocument
     
        appWord.Application.WindowState = wdWindowStateMaximize
        appWord.Visible = True
     
        'fermer et libérer les objets
        Set appWord = Nothing
     
    End Sub
    Le code fonctionne à merveille mais j'ai un gros bug dans certains cas.

    Si dans le fichier texte il y a un champ contenant des "" comme par exemple dans une adresse (ex : Résidence "Les Tilleuls"), la fusion ne se termine pas sans mettre de message d'erreur.

    Cependant lorsque je fais moi même les manipulations pour créer le document principal, et trouver la source de données, il n'y a pas de soucis tout fonctionne. En faisant des tests, je me suis apperçu que le fait de cocher la case : "Choisir l'importation" dans le menu " Ouvrir la base de données" dans le publipostage sous Word, permet de ne pas avoir de problème.
    Hors dès que je teste en décochant cette case, j'ai le problème cité plus haut.

    J'ai beau avoir chercher, je ne trouve pas le code à mettre dans VB qui correspondrait à cocher la case "Choisir l'importation" comme lorsque je le fais manuellement.

    Si quelqu'un pouvait m'éclairer sur ce point dont je ne trouve aucune solution.

    Je vous remercie par avance.

  2. #2
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 172
    Points
    17 172
    Par défaut
    Et SI, le remplacement par des espaces, des " suffisait ?
    adresse = Replace(adresse, Chr(34), " ")
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Oui, en dernier recours si je ne trouve pas de solutions.

    Mais j'aimerai garder les "" lorsqu'ils y sont. D'autant plus que ça me chagrine de ne pas trouver comment activer l'option qui correspond à "Choisir l'importation".

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Points : 876
    Points
    876
    Par défaut
    Bonsoir,

    à mon avis, et pour gérer des caractères particuliers sans risque de bugs, je changerais de type de base de données.
    Personnellement, j'ai abandonné le format .csv pour fusionner mes données au profit d'une base .mdb.

    Ce n'est pas compliqué à générer et tu n'auras pas de problème de double-quote ou autres (point-virgule, tabulation etc.)

    Si tu es intéressé par cette façon de faire, fais moi signe

Discussions similaires

  1. Problème Publipostage Word Excel
    Par glaine dans le forum Word
    Réponses: 1
    Dernier message: 29/05/2009, 06h48
  2. [AC-2003] Problème publipostage Access-->Word
    Par jerome78330 dans le forum VBA Access
    Réponses: 2
    Dernier message: 14/04/2009, 17h40
  3. Problème de publipostage word-excel 2003
    Par Spidermeu dans le forum Word
    Réponses: 4
    Dernier message: 27/01/2009, 18h36
  4. Problème publipostage ACCESS - Word
    Par gds10 dans le forum IHM
    Réponses: 16
    Dernier message: 13/11/2008, 22h25
  5. Problème publipostage word/Access
    Par samia21 dans le forum IHM
    Réponses: 5
    Dernier message: 05/06/2008, 10h44

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