FAQ Word
FAQ WordConsultez toutes les FAQ
Nombre d'auteurs : 20, nombre de questions : 289, dernière mise à jour : 15 juin 2021
- Est-il possible d'utiliser l'élision devant une voyelle lors d'un publipostage ?
- Comment faire du publipostage avec Excel ?
- Comment faire du publipostage avec Access ?
- Dans Excel, mes dates ont le bon format et après fusion, le format est différent ?
- Comment faire pour utiliser une image dans un publipostage ?
- Comment faire des opérations avec mes champs de fusion et de publipostage ?
- Comment faire pour obtenir certaines valeurs prenant en compte le sexe de la personne ?
- Comment éliminer certains enregistrements lors d'un publipostage ?
- Comment faire pour renseigner plusieurs fois la même valeur dans un document fusionné ?
- Comment éviter ce message : "Impossible de rétablir une connexion DDE" ?
- Comment afficher une information en fonction d'une valeur ?
- 5.1. Fusion et Publipostage VBA (0)
Vous devez modifier la base de données en ajoutant une colonne qui contiendra un booléen (0 - 1) en fonction
de la valeur contenue dans le champ contenant le mot.
Lors de la fusion, on utilisera une fonction IF.
{IF MonBooleen = 0 d' de}
Pour faire du publipostage avec Excel, je vous conseille de lire ce tuto.
Lien : Le publipostage Word-Excel
Pour remédier à ce changement de format il suffit de formater le champ de fusion. On accède au code de champ avec la combinaison de touches Shift + F9. On place le curseur de la souris sur le champ et on utilise la combinaison de touches.
{ MERGEFIELD "ma date"
\
@ "dd/MM/yyyy"
}
Les {} obtenus ne sont pas de simples crochets mais des marques de champs.
Le but : Insérer les images dont les adresses se trouvent dans une base de données Excel.
Dans EXCEL :
Les adresses des images doivent être introduites en tant que liens vers les fichiers "image",
Les séparateurs de noms de répertoires doivent comporter deux "\\" et enfin, les adresses doivent être encadrées de guillemets. Ce qui donne dans la cellule :
"c:\\Mes images\\cocorico.jpg"
Dans WORD
1 - Afficher les codes de champs
Barre d'outils "Outils" Options Affichage Valider "Code de champs"
Ou encore par l'utilisation de la combinaison de touches : Alt + F9
2 - Insertion du champ "image"
Insertion Champ IncludePicture (inclureImage)
Donne :
{ INCLUDEPICTURE \*
MERGEFORMAT }
3 - Insertion du champ de fusion
Se placer après le premier espace suivant { INCLUDEPICTURE (normalement suivi de trois espaces...)
Puis Barre d'outils "Publipostage" Icône "Insérer les champs de fusion" sélectionner le champ "Image" de la base de données.
Le champ de fusion est inséré dans le précédent, c'est à dire dans le champ Image.
Donne
{ INCLUDEPICTURE { MERGEFIELD "Champ Image"
} \*
MERGEFORMAT }
où "Champ Image" est le nom de champ.
4 - Dévalider l'affichage des codes de champs
Le message "Erreur°! Nom du fichier non spécifié." s'affiche.
Normal la fusion n'est pas encore réalisée.
La combinaison Alt + F9 convient aussi dans ce sens
5 - Lancer la fusion
6 - Mise à jour des champs
Dans la "lettre type" issue de la fusion, sélectionner tout le Texte (Ctrl + A) et frapper la touche F9.
Les champs se mettent à jour, les images apparaissent !
Remplace, par macro, les parties 1 à 6
Dans le document Word, renseigner le nom du champ image
Se placer dans le document principal au point d'insertion de l'image puis lancer la macro.
Sub
Macro
(
)
Dim
NomChamp as
string
NomChamp =
"Champ Image"
InsérerChampImageEtFusion NomChamp
End
sub
Sub
InsérerChampImageEtFusion
(
NomDuChampImage)
Selection.Fields.Add
Range:=
Selection.Range
, Type
:=
wdFieldEmpty, _
PreserveFormatting:=
False
Selection.TypeText
Text:=
"INCLUDEPICTURE "
Selection.Fields.Add
Range:=
Selection.Range
, Type
:=
wdFieldEmpty, _
PreserveFormatting:=
False
Selection.TypeText
Text:=
"MERGEFIELD "
&
amp; Chr
(
34
) &
amp; NomDuChampImage &
amp; Chr
(
34
)
With
ActiveDocument.MailMerge
.Destination
=
wdSendToNewDocument
.SuppressBlankLines
=
True
.Execute
Pause:=
False
End
With
Selection.WholeStory
Selection.Fields.Update
End
Sub
Il est possible de faire des opérations sur des champs de fusion lors d'un publipostage.
La première chose à faire est de créer un champ de formule. Vous avez deux possibilités, par l'interface ou à la main.
À la main, vous devez utiliser la combinaison de touche Crtl + F9.
Dans ce champ, placez un =
À la suite de ce égal, vous pouvez insérer des champs de fusion contenant des valeurs numériques pour les utiliser dans des opérations arithmétiques.
{ =
{ MERGEFIELD Valeur1 } +
{ MERGEFIELD Valeur2 } }
Vous pouvez augmenter le nombre de champs de fusion pour vos opérations, ou utiliser des valeurs dans le champ.
{ =
{ MERGEFIELD Valeur1 } *
1
,19
}
Si vous ne voulez pas stocker certaines valeurs relatives au genre des personnes pour un publiposstage, vous pouvez utiliser un champ contenant le sexe, par exemple : M ou F.
Dans votre publipostage, vous devrez simplement utiliser un champ conditionnel IF pour utiliser le genre masculin ou féminin d'un mot.
{ IF
{ MERGEFIELD Sexe } =
M Cher Chère}
{ IF
{ MERGEFIELD Sexe } =
M "Bonjour cher monsieur,"
"Bonjour chère madame,"
}
Téléchargement : Les champs dans Word
Il arrive que dans certains publipostages, vous soyez amené à éliminer ou sauter certains champs.
Vous pouvez faire ce choix lors de la sélection de votre source. Si votre table comporte peu d'enregistrement, c'est une chose simple. Mais si votre table contient
un grand nombre d'enregistrements cette opération peut s'avérer fastidieuse.
Word possède une commande qui permet de sauter certains enregistrements en fonction d'un ou plusieurs critères.
Si votre table possède un champ sexe et que vous souhaitez n'utiliser que les enregistrements relatifs aux hommes :
{ SKIPIF { MERGEFIELD Sexe} =
"F"
}
Vous avez deux options :
La première, répéter le champ de fusion autant de fois que vous en avez besoin.
La seconde, utiliser un champ REF et un signet.
Sur le champ de fusion que vous voulez dupliquer, placez un signet.
À l'endroit où vous souhaitez dupliquer votre texte, placez un champ REF.
{ REF MonSignet }
Lorsque vous insérez une base de données dans un document Word ou que vous attachez un document principal de publipostage à une source de données, le message d'erreur suivant peut s'afficher : Impossible de rétablir une connexion DDE avec application pour achever la tâche en cours.
Il est parfois intéressant de pouvoir afficher un texte différent en fonction d'une valeur contenue dans votre table.
Microsoft a prévu ce cas de figure.
Si ... Alors ... Sinon
Avec l'interface graphique, nous sommes limités à un seul test.
L'édition manuelle du champ permet d'augmenter le nombre de tests en les imbriquant les uns dans les autres. Pour y parvenir, placez-vous sur le
champ et utilisez la combinaison de touches "Shift + F9", vous obtenez un texte grisé entre " { } ".
Ce ne sont pas de simples crochets mais des marques de champ.
Pour ajouter des "Champs" supplémentaires, vous devez utiliser la combinaison de touches "Ctrl + F9" à l'intérieur du champ existant.
Avec une seule condition, voilà ce que donne votre champ :
{ If
Condition SiVrai SiFaux }
Si vous souhaitez ajouter une condition, choisissez un des résultats et remplacez-le par une nouvelle condition :
{ If
Condition { If
Condition_0 SiVrai_0 SiFaux_0 } SiFaux }
Il n'y a pas de limite, mais imbriquer trop de champs devient vite ingérable.
{ If
Condition { If
Condition_0 { If
Condition_1 SiVrai_1 SiFaux_1 } SiFaux_0 } SiFaux }
Prenons l'exemple des civilités dans une lettre, votre table contient M pour monsieur, Mme pour madame, Mlle pour mademoiselle, votre champ devrait ressembler à :
{ If
{MERGEFIELD Civilite} =
"M"
"Monsieur"
{ IF
{MERGEFIELD Civilite} =
"Mme"
"Madame"
"Mademoiselle"
}}