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

VBA Word Discussion :

Publipostage champ de fusion non valide


Sujet :

VBA Word

  1. #1
    Invité
    Invité(e)
    Par défaut Publipostage champ de fusion non valide
    Bonjour, j'effectue un publipostage en utilisant les données d'une table Access. Cependant, si un champ de fusion du fichier Word n'existe pas dans la table, alors j'ai le message : "Champ de fusion non valide" qui me demande si je veux supprimer le champ, ou le remplacer par un champ de fusion valide de la base de données.
    J'aimerais que, dans ce cas, le champ soit automatiquement supprimer...
    Comment faire ? merci

  2. #2
    Membre expert

    Homme Profil pro
    Spécialiste progiciel
    Inscrit en
    Février 2010
    Messages
    1 747
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Spécialiste progiciel
    Secteur : Service public

    Informations forums :
    Inscription : Février 2010
    Messages : 1 747
    Points : 3 016
    Points
    3 016
    Par défaut
    Bonjour,

    Tu ne devrais pas avoir ce type de message d'erreur.
    Après pour le supprimer, il faudrait avant la fusion lister l'ensemble des champs de publipostage utilisé dans le document et les comparer un à un à ceux de ta source de données. S'ils ne sont pas présents, on supprime la donnée dans le document mais cela ne me parait pas une bonne idée.

    Comment se fait-il que ton document contienne des champs autres que ceux de ta source est plutôt la question à se poser.
    Cordialement,
    Christophe

    Merci de ne pas oublier de mettre résolu quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche

  3. #3
    Invité
    Invité(e)
    Par défaut
    J'avais bien envisagé cette solution mais elle me parait un peu lente à l'exécution (j'ai 2 ou 300 fichiers à générer en une seule exécution).
    Il se trouve que les fichiers à générer sont utilisés par un autre programme Access et qu'ils sont quasiment identiques mis à part un ou deux champs, dans certains fichiers, qui doivent disparaitre.
    Suis-je vraiment contraint à vérifier la correspondance entre les champs de publipostage et la source de données avant chaque fusion ?

  4. #4
    Membre expert

    Homme Profil pro
    Spécialiste progiciel
    Inscrit en
    Février 2010
    Messages
    1 747
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Spécialiste progiciel
    Secteur : Service public

    Informations forums :
    Inscription : Février 2010
    Messages : 1 747
    Points : 3 016
    Points
    3 016
    Par défaut
    Bonjour,

    Non, il est possible de remplacer automatiquement le champ par rien dans le texte si tu sais quels sont les champs qui ne devraient pas être dans ta lettre type.
    Autre solution, rajouter dans la source ces champs avec une valeur vide
    Pour lister les champs présents dans la lettre type, tu peux utilsier un code comme celui-là.
    Tu dois pouvoir les comparer dans une boucle avec un code proche de celui-ci

    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
    Sub comparer_champs()
    Dim DocRes As Document
    Dim danssource As Boolean
    Dim champlettre As Field
    Dim champsource As MailMergeField
    Set DocRes = Documents("Liste_champs.doc")
    For Each champlettre In ActiveDocument.Fields
    If champlettre.Type = wdFieldMergeField Then
    danssource = False
    For Each champsource In ActiveDocument.MailMerge.Fields
    If champsource.Code = champlettre.Code Then danssource = True
    Next
    If Not danssource Then
    Call suppressiondanslettre(champlettre)
    End If
    End if
    Next
    End Sub
    Cordialement,
    Christophe

    Merci de ne pas oublier de mettre résolu quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche

  5. #5
    Invité
    Invité(e)
    Par défaut
    Merci de votre aide mais j'avais déjà penser à ces solutions.
    En fait je balaye tous mes fichiers en les fusionnant, et je voulais juste faire une sorte de gestion des erreurs au cas ou dans un ou deux fichiers il y ait un champ qui n'est pas présent dans la source de données. Je ne sais pas quel champ ni quel fichier risque de poser problème. Mais étant donné le nombre de fichiers à fusionner (largement plus de 300 en fait), je vais lancer la génération de nuit et je voudrais éviter tout message d'erreur pouvant bloquer l'avancée de la génération (tel que "Champ de fusion non valide").
    J'ai fait un test en insérant volontairement un champ inconnu dans la source de données. Et j'ai testé l'argument pause de la fonction execute du MailMerge, mais que je mette True ou False, le résultat est le même.

  6. #6
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2014
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Même problème
    Slt,

    J'ai le même prob lors de publipostage, parfois j'ai des champs invalide et sa stop le traitement. Très problématique surtout que mon traitement est automatisé donc sans " intervention " !
    j'ai essayé de mettre en place dans un fichier test.docx un code qui ignore les boite d'alerte : Application.DisplayAlerts = wdAlertsNone . Mais rien , j'ai toujours cette boite de dialogue "champ invalide qui s'affiche...
    Avez-vous trouver une solution ??

    Help please !

  7. #7
    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,

    Il serait peut-être plus facile de supprimer les champs non valides.
    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 !

  8. #8
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2014
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    Slt,

    Il est clair que supprimé les champs non valide soit la solution, je l'aurais fais depuis longtemps. Sauf que le publipostage se fait par une station bureautique (auto) d’après plusieurs modèle de doc.( environ 300 modèles !). Donc intervenir sur 300 fichiers et chercher les champs invalides...difficiles !

Discussions similaires

  1. [WD-2007] publipostage : champ de fusion et liens hypertexte
    Par Olabonga dans le forum Word
    Réponses: 3
    Dernier message: 20/11/2017, 19h52
  2. [WD-2010] Publipostage - champs de fusion
    Par maryejo28 dans le forum Word
    Réponses: 11
    Dernier message: 14/08/2014, 15h48
  3. [WD-2003] Champ de fusion non valide
    Par tony_49 dans le forum Word
    Réponses: 1
    Dernier message: 16/07/2009, 09h17
  4. Colorer champs formulaire non validés..
    Par socket77 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 11/03/2008, 10h27
  5. Réponses: 6
    Dernier message: 26/09/2007, 15h26

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