V4 : 09/2024
- Activation du cliquer-glisser (drag and drop) pour tous les éléments pouvant utiliser les champs de publipostage (Nom des fichiers, A, CC, CCI, Objet, Texte du message).
- Dimensionnement automatique des boites de dialogues en fonction de la résolution écran.
- Corrections de bugs mineurs
- 2ème boite de dialogue "Publipostage par e-mails"
- Réorganisation des éléments de l'écran.
- Modification des listes A, CC, CCI permettant de mixer saisie, sélection dans la liste et cliquer-glisser en même temps.
- Ajout de la liste des champs disponibles pour permettre le cliquer-glisser.
- Ajout de la case à cocher "Conserver les fichiers PDF/WORD générés dans un dossier spécifique".
- Ajout de la case à cocher "Ouvrir le dossier cible/destination en fin de traitement".
V5 : 11/2024
- 1ère boite de dialogue "Choix du type de document de départ et de la destination de la fusion"
- Ajout d'un commutateur permettant de basculer l'interface en version Anglaise.
- Correction de bugs (Barre de progression...).
- Ajout de boutons pour l'utilisation et la gestion d'un fichiers de réponses (automatisation du remplissage de zones de saisie).
- 2ème boite de dialogue "Publipostage par e-mails"
- Ajout d'autres clients pour l'envoi des emails (notamment en prévision de l'hypothétique disparition d'Outlook Standard).
- Bibliothèque Windows CDO.
- Services web (SMTP2GO, Sendgrid).
- Ajout d'un bouton pour importer le texte du mail via un fichier texte ou Html.
- Ajout d'une option permettant d'interpréter un texte comme un chemin d'accès pour importer le texte du mail via un champ de la base de données.
- Activation de la barre de progression.
- Gestion de l'ajout de la signature avec le client Outlook.
- Possibilité de choisir où vont être insérés les pièces jointes avec la destination "En corps de message (RTF)"
- Ajout de la destination "En corps de message (HTML)".
- Ajout d'un bouton permettant d'effacer la zone "Saisie directe du message".
- Ajout d'un bouton permettant d'effacer toutes les zones de saisie.
- Ajout d'un bouton permettant de fermer les 2 fenêtres de l'application en une seule manipulation.
Genèse de cet outil
A la suite d'une question d'une utilisatrice du forum qui correspondait à une légère modification de la solution proposé ici https://1forme.fr/publipostage-par-mail-en-piece-jointe-en-pdf/, j'ai développé une interface utilisateur permettant de paramétrer plus facilement la macro proposée.
Lors de ce développement, de fil en aiguille et par suite à divers commentaires d'utilisateurs (que je remercie), j'ai ajouté d'autres de fonctionnalités.
Objectifs de cet outil
Outil lié au mailing/publipostage avec Word, permettant principalement de générer un fractionnement en plusieurs documents (Word/PDF) du document résultat d'une fusion (avant ou après la fusion effective) et proposer l'envoi de ces documents par e-mail (en corps du message ou en pièce jointe) avec de nombreuses options d'envois.
- Utilisable :
- À partir du document principal de fusion (celui avec les champs).
- À partir du résultat de la fusion : cela permet de personnaliser/contrôler préalablement certains courriers.
- Permettant de paramétrer l'envoi par email et de choisir la destination du publipostage pour ces emails.
- Choix du client utilisé pour l'envoi : Outlook, bibliothèque Windows CDO, services web (SMTP2GO, Sendgrid).
- Choix du compte servant à l'envoi si l'on dispose de plusieurs comptes (le compte utilisé pouvant varier selon l'enregistrement traité).
- Choix du/des destinataire(s) en tant que destinataire principal, en copie, en copie caché (adresse fixe ou pouvant varier selon l'enregistrement traité).
- Objet du message pouvant s'adapter pour chaque e-mail (texte fixe ou pouvant varier selon l'enregistrement traité).
- Choix de la destination du document fusionné en tant que corps du message ou en tant que pièce jointe.
- Choix du corps du message (document fusionné, texte fixe ou texte pouvant varier selon l'enregistrement traité, import d'un fichier texte ou Html).
- Ajout de pièces jointes supplémentaires (communes à chaque e-mail et/ou pouvant varier selon l'enregistrement traité).
- Exécution et paramétrage de l'outil soit en mode manuel, soit en mode semi-automatique ou automatique (pré-remplissage des informations via un fichier de réponses).
Téléchargements
V4
Lien de téléchargement. (zip)
- MD5 : 05c87d1da4ac6dc1d88ac8c310133ce2
- SHA-512 : 86c7f66ebcc7f25e2e190e71e593d512a7dcef2a00ace47ef595d24b44520b2cbcedd0181ff36d6077d71d88714dc5e1cdd1b8818c31155252f58835ddc039b7
V5
Lien de téléchargement (zip)
- MD5 : f6259ae0e118a58d9575f049e1abf5d4
- SHA-512 : b1e97168a30994e86109e622e0cccf97eecde6d4ff32e770291ee3a1e7ab5517867e74e22b19bb709b764bbbe893cd47f673f3ccfe73aeecced26ccf5223fcea
Installation
Placer le fichier "dézippé" OutilsPublipostage5.dotm dans le dossier "%AppData%\Microsoft\Word\STARTUP", par exemple "C:\Users\VOTRE PROFIL\AppData\Roaming\Microsoft\Word\STARTUP".
Interface utilisateur
Icone de lancement
Dernière icone du ruban Publipostage "Découper et emails".

1ère fenêtre (Choix du type de document de départ et de la destination du publipostage)
Les documents avant/après fusion doivent être ouverts au préalable !

- Interface : Pour passer l'interface en langue Anglaise / Française.
- Document de départ : Choix du document de départ parmi les documents ouverts.
- Si ce document est un document principal de fusion (avec les champs de fusion), l'option "Avant fusion" est sélectionnée (seul les mailings/publipostages de type Lettres sont supportés).
- Si ce document n'est pas un document principal de fusion (avec les champs de fusion), l'option "Après fusion" est sélectionnée (l'outil suppose qu'il s'agit du résultat de la fusion, c'est à dire le document à fractionner).
- Seuls les documents compatibles sont affichés dans cette listes.
- Dans le cas où le document (2) n'est pas un document principal de fusion, on sélectionne le document principal de fusion ayant servi à générer le document (2). Information nécessaire pour fractionner correctement le document fusionné.
- Seuls les documents compatibles sont affichés dans cette liste.
- Type de sortie : Choix du type de document généré et de leur destination.
- Option E-mails... : Pour envoyer les documents générés par e-mail via la messagerie. On accèdera à un 2ème écran (Paramétrage des e-mails).
- Options Fichiers PDF/Word individuels (6) : Pour simplement générer en sortie des fichiers dans un dossier (un fichier par enregistrement de la base de données).
Avec ces options (7) on accède à une zone de saisie (8) permettant de paramétrer les fichiers générés.
Pour les fichiers générés, on utilisera :- Soit un nom fixe saisi en (9) :
Les documents ayant le même dossier de destination, le n° d'enregistrement sera ajouté à la fin (exemple : Document1, Document2...).- Certains caractères ne sont pas autorisés et sont non saisissable dans la zone (non autorisés par Windows).
- Soit un nom variable saisi également en (9) :
Si la case à cocher "Remplacer {Nom champ} par..." (9) est activée, tout texte entre {accolades} sera interprété comme un nom de champ de la base données.- Les champs de la base données utilisables sont affichés à droite (11) et peuvent être cliquer-glisser dans la zone ou saisies.
- Pour les noms des champs, il faut respecter les lettres Majuscules/Minuscules (casse) en cas de saisie.
- Si des caractères non autorisés sont présents dans les valeurs renvoyées par les champs utilisés, ces caractères seront supprimés.
- Si le nom est vide (par exemple, le cas où il n'est constitué que d'un champ qui renvoie une valeur vide pour un des enregistrements), le nom sera "Document" suivit du n° de l'enregistrement.
- Si la saisie d'un nom de champ ne correspond pas au nom d'un des champs de la base de données, elle ne sera pas interprétée comme un nom de champ et laissé tel quel.
- L'option "Ouvrir le dossier cible..." (12) permet d'afficher le contenu du dossier contenant les fichiers générés (dossier précisé par l'utilisateur après validation du bouton (5)).
- Une barre de progression (13) permet d'afficher l'avancement du traitement.
- Remarques :
- L'ensemble Chemin d'accès et Nom du fichier est limité aux 240 premiers caractères.
- Si un fichier du même nom est déjà présent dans le dossier de destination, ce dernier sera écrasé.
Ainsi, si pour plusieurs enregistrements des noms identiques sont générés (via un champ), les fichiers correspondants seront écrasés au fur et à mesure de leur génération (à vous de contrôler cela 😊).
- Soit un nom fixe saisi en (9) :
- On valide en cliquant sur le bouton "Paramétrer les emails/Générer les fichiers" (5).
- Option E-mails... : En cliquant sur le bouton, une 2eme fenêtre s'ouvrira afin de paramétrer les e-mails (voir plus bas).
- Option Fichiers PDF/Word individuels : Une fenêtre apparait afin de sélectionner le dossier de destination des documents générés.
- Paramétrage et utilisation d'un fichier de réponses :
Un fichier de réponses permet un pré-remplissage des informations nécessaires à l'exécution de l'outil (remplissage des zones de saisie et paramétrage des options). Il peut même déclencher la validation/exécution puis la fermeture de l'outil.
Il est constitué d'une série de paires de clé-valeur (par exemple "Client:=outlook").
L'outil est fait pour utiliser un fichier de réponse selon 4 modes :- De manière automatique.
Le chargement du fichier est fait sans l'intervention de l'utilisateur et l'exécution et la fermeture de l'outil peut même être déclencher.- Via un fichier ayant pour nom "ResponseFile.txt", dans le dossier d'installation : Pour être commun à plusieurs publipostages.
- Via un fichier ayant le même nom que le document Word actif avec l'extension .txt, dans le dossier d'installation : Pour être spécifique à un publipostage/document.
Remarque : le fichier de réponses du cas (1) est prioritaire sur celui du cas (2).
- De manière semi-automatique.
Le chargement du fichier est fait avec l'intervention de l'utilisateur.- Via un fichier ayant été lié au document principal de fusion (celui avec les champs) : Pour être ainsi spécifique à un publipostage/document.
Par rapport au "n°2", cela donne de la liberté quant au nom et à l'emplacement du fichier de réponse. - Via un fichier à sélectionner/charger à chaque exécution.
- Via un fichier ayant été lié au document principal de fusion (celui avec les champs) : Pour être ainsi spécifique à un publipostage/document.
- De manière automatique.

- Permet de connecter un fichier de réponse au document sélectionné dans la 1ère liste déroulante (Fond jaune). Il faudra enregistrer le document pour mémoriser la connexion.
- Pour déconnecter le fichier de réponse au document sélectionné dans la 1ère liste déroulante (Fond jaune). Il faudra enregistrer le document pour mémoriser la déconnexion.
- Pour appliquer les valeurs du fichier de réponses connecté et lancer l'exécution.
- Pour sélectionner un fichier de réponses, appliquer ses valeurs puis lancer l'exécution. Cette connexion ne sera pas mémorisée lors d'une utilisation ultérieure de l'outil.
Informations
- Des commentaires peuvent être ajoutés dans le fichier de réponses, ils doivent commencer par //.
- Des lignes vides sont autorisées dans le fichier de réponses.
- Des clés peuvent être présentes dans le fichier de réponses et ne pas avoir de valeurs.
Ainsi pour ne pas prendre en compte une clé de réponse, on peut soit la mettre en commentaire ou soit laisser sa valeur vide.
Si la clé de réponse est sans objet/inutile dans le traitement paramétré par le fichier de réponses, elle sera ignorée.
Par exemples :
- La clé OutlookOffLine pour désactiver l'envoie par Outlook lors d'un envoi avec SMTP2GO (sans objet).
- La clé MessageFormat pour choisir le format du corps du message lors d'un envoie en corps de message RTF ou HTML (inutile voir contradictoire).
Exemples de fichier de réponses
Version commentée avec exemples (cliquer pour dérouler).
//Fichier de réponses
//===================
// Écran 1
// -------
// Lang > [FR, EN] > Langue de l'interface - écran 1
Lang:=FR
// Doc1 > Nom du document dans la 1ère liste déroulante (fond jaune) - écran 1
Doc1:=DocPrincResFusin.docx
// Doc2 > Nom du document dans la 2ème liste déroulante - écran 1
Doc2:=
// OutPut1 > [Mail, PDF, Word] > Type de sortie - écran 1
OutPut1:=Mail
// GoNext >[True, False] > Valider l'écran 1
GoNext:=true
// Commun Écrans 1 et 2
// --------------------
// Subtitue > [True, False] > Remplacer les noms des champs par leur valeur - écran 1 et 2
Subtitue:=false
// FolderOutPut > Chemin d'accès du dossier de sauvegarde des fichiers générés
FolderOutPut:=C:\MesDoc\Projet
// FileNameOutPut > Nom des fichiers générés - écran 1, des fichiers en pièce jointe des e-mails - écran 2
FileNameOutPut:=Devis {ChNom}
// OpenFolder > [True, False] > Ouvrir le dossier contenant les fichiers - écran 1 et 2
OpenFolder:=True
// Close > [True, False] > Ferme la/les fenêtres de l'outil - écran 1 et 2
Close:=false
// Écran 2
// -------
// Client > [Outlook, CDO, SMTP2GO, SendGrid] > Client utilisé pour l'envoi - écran 2
Client:=outlook
// OutlookOffLine > [True, False] > Passer Outlook en mode hors connexion - écran 2
OutlookOffLine:=True
// AddSignature > [True, False] > Ajouter une signature aux messages - écran 2
AddSignature:=True
// Output2 > [RTF, HTML, PDF, Word] > Destination et format des documents générés par publipostage - écran 2
Output2:=pdf
// SenderType > [Field, Account] > Origine de l'information sur l'expéditeur (DE) - écran 2
SenderType:=Account
// Sender > Adresse e-mail de l'expéditeur (DE) ou nom du champ contenant son adresse - écran 2
Sender:=xxx@1forme.fr
// Receipt > [True, False] > Demande d'un accusé réception - écran 2
Receipt:=True
// Importance > [True, False] > Passage du message en importance haute - écran 2
Importance:=True
// To, CC, CCI > Adresses e-mail des destinataires ou nom des champs contenant leurs adresses- écran 2
To:={A};xxx@gmail.com
CC:=
CCI:=
// Object > Objet du message - écran 2
Object:=Conclusions sur le dossier {ChNumDossier} pour {ChCivilite} {ChNom}
// AttchtList > Liste des documents à ajouter en pièce jointe - écran 2
AttchtList:=C:\MesDoc\Document1.pdf;C:\MesDoc\Document2.pdf
// AttchtField > Nom du champ contenant la liste des documents à ajouter en pièce jointe - écran 2
AttchtField:={chPJ}
// MessageFormat > [Text, HTML] > Format des messages envoyés - écran 2
MessageFormat:=html
// MessageField > Nom du champ contenant le texte des messages - écran 2
MessageField:=
// MessageFieldAsPath > [True, False] > Interpréter le contenu de MessageField comme un chemin d'accès - écran 2
MessageFieldAsPath:=true
// MessageTxt > Texte du message - écran 2
MessageTxt:=Bonjour <b>Monsieur</b> Martin
// MessagePath > Chemin d'accès au fichier contenant le texte du message - écran 2
MessagePath:=
// KeepFiles > [True, False] > Conserver les fichiers générés - écran 2
KeepFiles:=false
// SendMail > [True, False] > Valiser l'envoi des e-mails - écran 2
SendMail:=true
Version brute (cliquer pour dérouler).
Lang:=
Doc1:=
Doc2:=
OutPut1:=
GoNext:=
Subtitue:=
FolderOutPut:=
FileNameOutPut:=
OpenFolder:=
Close:=
Client:=
OutlookOffLine:=
AddSignature:=
Output2:=
SenderType:=
Sender:=
Receipt:=
Importance:=
To:=
CC:=
CCI:=
Object:=
AttchtList:=
AttchtField:=
MessageFormat:=
MessageField:=
MessageFieldAsPath:=
MessageTxt:=
MessagePath:=
KeepFiles:=
SendMail:=
2ème fenêtre (Publipostage par e-mails)
Écran de paramétrage des e-mails.

- Client d'envoi des e-mails :
- Option Outlook Standard (ne fonctionne pas avec le "Nouvel Outlook" ni avec la version web d'Outlook).
- La case à cocher "Outlook en mode 'Travail en mode Hors connexion' " (2) permet d'activer/désactiver ce mode.
En activant le mode "Hors connexion", Outlook n'envoie pas les messages directement, il les stocke dans le dossier Boîte d'envoi du compte utilisé dans Outlook.
Cela permet de faire des contrôles et personnalisations supplémentaires pour certains e-mails.
En désactivant ce mode (Via l'outil ou via le ruban "Envoi/Réception" d'Outlook), les e-mails de la Boîte d'envoi seront alors envoyés. - La case à cocher "Ajouter la signature prédéfinie" (3) permet d'ajouter la signature par défaut du compte d'envoie sélectionné.
Fonctionnalité liée au paramétrage d'Outlook et n'étant pas activable pour le format de mail RTF (sélectionné en (4)).
- La case à cocher "Outlook en mode 'Travail en mode Hors connexion' " (2) permet d'activer/désactiver ce mode.
- Les 3 options suivantes Windows (CDO) / SMTP2GO / SendGrid nécessitent de créer et positionner un fichier de configuration "cfgMail.txt" dans le dossier d'installation "%AppData%\Microsoft\Word\STARTUP".
- Option Windows (CDO) > Bibliothèque intégrée (dll).
- Le format d'e-mail RTF n'est pas pris en charge, ni les accusés réceptions, ni l'importance du message.
- Option Windows (CDO) > Bibliothèque intégrée (dll).
Il faut indiquer dans le fichier de configuration cfgMail.txt (dans un ordre quelconque) :
- Quel est le compte servant à l'envoi (clé SendUserName).
- Quel est l'adresse du serveur SMTP (clé SMTPServer).
- Le numéro du port à utiliser (clé SMTPServerPort).
- Le mot de passe à utiliser (clé SendPassword).
- Si une authentification SSL est nécessaire (clé AuthentifSSL).
Exemple de contenu de cfgMail.txt pour Windows (CDO)
// Ces 5 clés sont obligatoires
SendUserName:=aaaa@bbbb.fr
SMTPServer:=smtp.ccccc.com
SendPassword:=azertyuiop
SMTPServerPort:=465
AuthentifSSL:=True
- Options SMTP2GO et SendGrid (Services web).
- J'ai sélectionné les service SMTP2go (www.smtp2go.com) et Sendgrid (sendgrid.com) mais j'aurais pu prendre Brevo (www.brevo.com) ou Mailjet (www.mailjet.com). Il fallait bien faire un choix 🤔.
- Ces services web nécessitent une inscription (pas besoin de CB) et un petit paramétrage en ligne.
- Ils proposent plusieurs forfaits en fonction du volume de e-mails envoyés dont un gratuit (par exemple 1000 e-mails par mois pour SMTP2go).
- Ces services ont aussi des limitations spécifiques (par exemple : une taille totale maximale du mail de 50 Mb ou aux maximum 100 destinataires par champ To, CC, CCI pour SMTP2GO).
- Il faudra générer une clé (API key) et inscrire les adresses/domaines servant à l'envoi (DE).
- Le format d'e-mail RTF n'est pas pris en charge ni les accusés réceptions.
SMTP2GO

Sengrig

Il faut indiquer dans le fichier de configuration cfgMail.txt (dans un ordre quelconque) :
- Quelle est la valeur de la clé API utilisée pour l'envoi (clé ApiKeySMTP2GO pour SMTP2GO et ApiKeySendGrid pour Sendgrid).
Exemple de contenu de cfgMail.txt pour SMTP2GO >
// Seul ligne nécessaire (les autres seront ignorées)
ApiKeySMTP2GO:=api-987AB65CD6543210E1234F56G7H89I01
Exemple de contenu de cfgMail.txt pour Sengrid >
// Seul ligne nécessaire (les autres seront ignorées)
ApiKeySendGrid:=SG.a1BCdeFGH2iJKLm_NO3pQR.st4_5u_v67WXYZ8ABCdeF9GhIJK0M1N2oPqrS3Tuv4W
- Destination des documents créés : Sélection de la forme que prendra le document résultant de la fusion/fractionnement.
- Option "En corps du message (RTF)" : Le résultat de la fusion sera utilisé comme texte pour le corps du message.
- Format assurant le minimum de pertes en termes de présentation par rapport au document de départ (plus fidèle).
- Compatible seulement avec Outlook (pour l'envoie) et peu de clients de messagerie peuvent le lire en dehors d'Outlook (pour les destinataires-en réception).
- Incompatible avec la case à cocher Signature.
- Les pièces jointes sont présentées dans le corps du message.
> Par défaut à la fin du message.
> A la position du signet "AttPos" (Ruban Insertion>Signet pour le créer), s'il existe dans le document principal de fusion (celui avec les champs).
- Option "En corps du message (HTML)" : Le résultat de la fusion sera utilisé comme texte pour le corps du message.
- Pertes en termes de présentation par rapport au document de départ légèrement plus importantes.
- Très bonne comptabilité.
- Exécution plus lente (les images présentent dans le document, nécessitants une conversion, ont plus d'impacts sur le temps d'exécution) avec cette option.
- Option "En pièce jointe PDF/Word" : Le résultat de la fusion sera mis en pièce jointe dans l'e-mail.
- On devra générer/choisir un nom pour le fichier inséré en pièce jointe (voir plus bas).
- On pourra rédiger le corps du message ou l'importer via un champ.
- Option "En corps du message (RTF)" : Le résultat de la fusion sera utilisé comme texte pour le corps du message.
- Options d'envoi : Sélection des options Accusé réception et Importance haute.
- Sélection du compte expéditeur (DE) : celui servant à l'envoi.
- Compte : Listes des adresses e-mail des comptes configurés dans Outlook.
- Champ : Champ contenant l'adresse e-mail unique du compte de messagerie à utiliser (pouvant ainsi varier à chaque enregistrement).
- Sélection des destinataires : Pour remplir les listes A, CC, CCI désignant les destinataires des e-mails.
- Les adresse e-mail des destinataires doivent être séparées par un point-virgule, que ce soit en saisie directe ou dans le champ de la base données utilisés.
- Il est possible de mixer : saisie manuelle des adresses, saisie des noms de champs entre accolades et cliquer-glisser du champ à partir de la liste (9).
- Pour que les noms de champ soient correctement interprétés, il n'est pas nécessaire ici d'activer la case à cocher "Remplacer {Nom champ} par..." (8). Cette fonction est toujours active pour ces 3 listes.
- Il n'y a aucun contrôle de validité des adresses e-mails fournies pour l'envoi.
- Remplacer {Nom champ} par... : Avec cette case à cocher activée, tout texte entre {accolades} sera interprété comme un nom de champ de la base données. Il sera alors remplacé par la valeur du champ (une sorte de 2eme publipostage 😁).
- Cette fonction est toujours active pour les listes A, CC, CCI (que la case soit coché ou non).
- Exemple d'utilisation pour l'objet : "Conclusions sur le dossier {ChNumDossier} pour {ChCivilite} {ChNom}" pourrait donner "Conclusions sur le dossier A450 pour Madame MARTIN".
- Liste des champs de la source de données : pour référence ou pour réaliser un cliquer-glisser.
- Objet du message : Pour saisir de l'objet des messages envoyés.
- S'il l'objet est vide, un espace sera inséré afin d'éviter des messages d'alerte des clients de messagerie.
- , 12., 13. Pièces jointes qui seront communes à tous les messages.
- Bouton Ajouter (11) : Pour ajouter des pièces jointes à celles déjà présentes dans la liste.
- Sélection multiple possible.
- Si fichier sélectionné est déjà présent dans la liste alors il ne sera pas ajouté.
- Bouton Retirer (12) : Pour supprimer les pièces jointes sélectionnées de la liste.
- Sélection multiple possible.
- Bouton Tout Retirer (13) : Pour supprimer toutes les pièces jointes de la liste.
- Bouton Ajouter (11) : Pour ajouter des pièces jointes à celles déjà présentes dans la liste.
- Liste Champ Pièces jointes... : Pour ajouter des pièces jointes via un champ de la base données.
Elles pourront ainsi être spécifiques à chaque message.- Une valeur vide est présente en début de liste permettant d'annuler la précédente sélection d'un champ ou en utilisant la touche Supp du clavier.
- Pour les valeurs du champ dans la base données servant aux pièces jointes, séparer les différents chemins d'accès par un point-virgule.
- Si le document est déjà présent en tant que pièce jointe, il ne sera pas ajouté une nouvelle fois.
- Barre de progression.
- Bouton Effacer tout permettant d'effacer toutes les zones de saisie.
- Bouton Envoyer les e-mails permettant la validation et l'envoi des e-mails.
- Bouton Fermer l'outil permettant de fermer directement les 2 fenêtres de l'outil.
Si une des options "En pièce jointe PDF" ou "En pièce jointe Word" a été sélectionnée, on accède à droite de le fenêtre à la zone de rédaction du corps du message.

- Format du message : On pourra choisir soit le format Texte brute ou le format HTML (format permettant une mise en forme).
- Saisie directe du message : On pourra saisir ici le message sous forme d'un texte ou d'un code HTML.
- Si la case à cocher "Remplacer {Nom champ} par..." (8) est activée, tout texte entre {accolades} sera interprété comme un nom de champ de la base données et remplacé.
- Exemples en mode HTML : "... la facture {ChNumFacture} d'un montant de <b>{chMontantFact} euros</b>...".
- Cette saisie sera ignorée si un champ dans la liste Champ contenant le texte du message (21) est sélectionné.
- Champ contenant le texte du message : On peut importer le texte du message via un champ de la base données.
- Si la case à cocher "Remplacer {Nom champ} par..." (8) est activée, tout texte entre {accolades} sera interprété comme un nom de champ de la base données et remplacé.
- Une valeur vide est présente dans la liste de sélection du champ permettant d'annuler la précédente sélection d'un champ ou en utilisant la touche Supp du clavier.
- Si un champ est sélectionné, la zone de saisie (20) sera ignorée.
- Interpréter sa valeur comme un chemin d'accès : Permet de d'interpréter la valeur du champ de la liste Champ contenant le texte du message (21) comme un chemin d'accès à un fichier.
- Format pris en charge : Texte (.txt), HTML (.html, .htm), CSV (.csv).
- Bouton Effacer permettant d'effacer la zone de saisie (20).
- Bouton Importer le message d'un fichier .txt ou .Html permettant d'importer le contenu d'un fichier Texte (.txt), HTML (.html, .htm), CSV (.csv).
- Zone Nom du fichier : Permet la saisie du nom du fichier PDF/Word résultant de la fusion/fractionnement.
- Si la case à cocher "Remplacer {Nom champ} par..." (8) est activée, tout texte entre {accolades} sera interprété comme un nom de champ de la base données et remplacé.
- Si le nom est vide (cas où il n'est constitué que d'un champ qui renvoie une valeur vide pour un des enregistrements), le nom utilisé sera "Document".
- Le nom est limité en longueur en fonction de la longueur du chemin d'accès aux fichiers temporaire Windows.
- Conserver les fichiers... Permet de conserver les fichiers générés pour la création de la pièce jointe.
- Une destination de sauvegarde sera alors demandée à l'utilisateur (pas de contrôle de la présence préalable d'un fichier doublon dans le dossier, celui-ci sera écrasé).
- Ouvrir le dossier cible... : Permet d'afficher le contenu du dossier contenant les fichiers générés (dossier précisé par l'utilisateur après validation du bouton (17)).
Remarques
> Pour les erreurs liées à des valeurs non valides fournies par les champs de la base de données, comme par exemple :
- Destinataire vide,
- Chemin d'accès à la pièce jointe erroné,
- Adresse e-mail d'expéditeur vide,
- Adresse e-mail d'expéditeur ne correspondant pas à un des comptes d'envoi configurés dans Outlook.
Un fichier journal d'erreurs sera créé dans les fichiers temporaires de Windows et sera ouvert à la fin de l'exécution.
Un message, à la fin du traitement, informe l'utilisateur de son bon déroulement et de l'éventuelle génération du fichier journal d'erreur.
> La taille des mails et le nombre de mails envoyés par Jour/Mois est limité par le serveur SMTP utilisé.
> Si trop de mail sont envoyés à un même destinataire, l'expéditeur peut être blacklisté (plus avec les services web).
> L'exécution est assez lente (elle dépend du nombre d'enregistrement, du volume et de la composition du document de départ) !
Conclusions
J'espère que cet outil pourra vous être utile en palliant certains manques dans Word.
Si vous trouvez des erreurs, n'hésitez pas à m'en faire part. L'outil devenant plus complexe avec plus de combinaison d'utilisations, il doit surement y en avoir 😔.
De même, si vous avez des idées d'améliorations, n'hésitez pas à m'en faire part, j'en étudierais la faisabilité.
Je rappelle que cet outil est fourni "tel quel", sans aucune garantie de bon fonctionnement (voir https://1forme.fr/mentions-legales/).
Merci pour votre attention bienveillante.
Merci pour ce superbe boulot de macro de publipostage.
Je vais l'utiliser de ce pas pour envoyer des mails avec PDF en PJ :):)
L'évolution n'est pas nécessaire, mais s'il y avait une option permettant de sauvegarder les PDF (générés et envoyer en PJ des mails), cela m'éviterait de faire tourner cette belle moulinette 2 fois.
Bonjour,
Merci pour ce message.
C'est une bonne idée. Je vais voir pour ajouter cette option dans une prochaine version.
Bonjour Alexandre,
Nouvelle version avec notamment la sauvegarde des PDF/Word générés
Wooohhhh, mais c'est magnifique cela !!
Merci beaucoup pour ces nouvelles améliorations, et la mise à disposition si rapide.
Je test cela de suite.
Arnaud,
Je passais par hasard par ici, et...surprise, une nouvelle version 🙂
Merci pour cette mise à jour de l'interface graphique, qui change un peu, ainsi que les nouvelles fonctionnalités et corrections de bug.
Vous arrivez à un bien beau produit.
Encore bravo, et merci pour ce boulot.
Super outil , Merciiiiiiiii !
Parfaitement fonctionnel sous 365 et office 2021
Pistes améliorations
- agrandir un peu la fenêtre de l'outil ( ça reste petit pour des yeux fatigués 😫 et résolution haute d'écrans)
- click ou Drag'ndrop du "champ" de nommage fichiers individuels avec ajout auto des accolades
Merci pour ce sympathique retour, ces informations et ces bonnes idées.
J'ai déjà commencé a ajouter ces améliorations et la remarque d'Alexandre mais cela prendra quelques jours le temps de les tester, mettre le fichier en ligne, mettre à jour cet article.
Bonjour Guillaume,
Je ne savais pas quoi faire de ma soirée !
Nouvelle version en ligne avec notamment :
> Ajout des champs via Drag'n drop.
> Taille dynamique de la fenêtre : Ce dimensionnement automatique mais ce n'est pas parfait (pb de taille de police) mais me semble correcte.
Merci Arnaud ... Je vais tester rapidement et retours là où nécessaire
Question 1 : dans certains tests, il me dit qu'il me génère 47 Fichiers (!! ) alors que seuls 3 ou 4 sont dans mon fichiers "Lettre Type x" ...
Question 2 : où peut on trouver le Journal d'erreur ?
Question 3 : A priori , il faudrait que le fichier Source ( avec les champs ) soit dans le MEME répertoire que le fichier après fusion .. , est exact ?
Bonne Continuation
Bonjour, et merci pour cet outil qui semble bien intéressant ! J'ai voulu le tester, mais je rencontre toujours le même problème : alors que les documents avant/après fusion sont bien ouverts (et qu'ils se trouvent dans le même répertoire), le fichier source (avec champs) n'est jamais sélectionnable dans la toute première fenêtre : il semble n'être pas considéré comme fichier compatible. Savez-vous ce que la macro cherche dans un document pour le déclarer compatible ? Car des champs de fusion sont bel et bien présents... Merci déjà pour votre solution, si vous en voyez une !
Bonjour,
L'outil se base seulement sur les fichiers ouverts dans la même session Word (sauf manipulation spécifique, il n'y a qu'une session Word)
La première liste affiche tous les documents ouverts.
La deuxième liste ne présente que les documents ayant été déclarés comme "document de fusion" (liste activée seulement si la 1ère liste sélectionne un document "standard").
On peut vérifier cette déclaration via le ruban Publipostage > Démarrer la fusion et le publipostage : Lettres doit avoir un discret cadre.
Votre fichier source (avec les champs), quel est sont extension/type ? (doc, dot, docx, dotx, odt...)
bonjour et merci , mais j'ai un problème pour m'en servir
sur l'Écran de paramétrage des e-mails ,je n'ai pas accès à la case ou je dois renseigner le nom du fichier pour la pièce jointe générée.
( nota : écran de paramétrage est trop grand et n'est pas déplaçable pour accéder à cette case)
Bonjour
Quelle est votre résolution écran ?
(Pour certains utilisateurs, la fenêtre était trop petite donc j'ai mis en place une redimensionnement automatique, le problème peut venir de ça)
Pour déplacer la fenêtre il faut utiliser la barre de titre (à la souris : cliquer-glisser ou au clavier clic droit>déplacer puis flèches de directions du clavier)
bonsoir,
désolé ok avec la version 4
Bonjour,
J'utilise très régulièrement votre outil de publipostage qui est vraiment génial pour envoyer des PDF individualisés.
La fonction "Listes des pièces jointes communes à ajouter à chaque email" marche très bien si la "Destination des documents créés" est "En pièce jointe de type PDF" ou "En pièce jointe de type Word".
Toutefois, en mode "En tant que corps du message", les messages s'envoient mais, aucune pièce jointe n'est ajoutée.
Une idée pour résoudre ce souci ?
Bonjour,
Merci pour votre commentaire et désolé pour le délais de réponse.
Je viens de tester sans pouvoir reproduire le comportement que vous décrivez.
Quelle version utilisez vous V3, V4 (les anciennes versions n'étaient pas numérotées) ?
Les pièces jointes ont elles des spécificités (cloud, type...)
Le format des messages étant dans ce cas en format rtf, les pièces jointes se trouvent sous forme d'icône dans le corps du message (à la fin du texte). Avez-vous bien regardé ?
Bonjour,
J'utilise la V4.
Dans Outlook, le message apparait bien comme possédant une pièce jointe, mais rien dans le corps du message.
La pièce jointe est en Excel et vient effectivement d'un Cloud, mais j'ai essayé avec une version sur le disque dur, même résultat.
Merci pour vos tests. Je vais réaliser mon publipostage en envoyant le corps de l'E-mail comme courrier d'accompagnement en PDF, cela fonctionne.
Bonne journée,
Bonjour,
Merci pour la réponse, vu que je vais poster une version 5 dans peu de temps je me permet de vous relancer.
Je viens de tester en utilisant OneDrive sans problème => Quel est le service de cloud concerné ?
Je ne connais pas bien les technologies cloud mais le fichier n'est peut être pas une copie local (miroir) et est peut être protégé en accès.
Comment faites vous pour ajouter le fichier (spécificités) ?
Pour info, le format du message ainsi généré (en corps) est RTF, ce format n'est peut être pas bien supporté si le client (programme) utilisé pour visualiser le mail n'est pas Outlook.
Bonne journée
Bonjour,
Le cloud utilisé est aussi OneDrive.
Le client d'envoi des E-mails est Outlook et la lecture des E-mails se fait aussi par Outlook.
Pour la bonne forme, Word et Outlook pour Microsoft 365 MSO version 2409 .
Si j'utilise la création d'un word ou d'un PDF pour mon publipostage, le fichier complémentaire en Excel est bien chargé et envoyé dans chaque E-mail, donc, je ne pense pas qu'il y ait une protection en accès.
dans tous les cas, j'ai essayé aussi avec une copie du fichier Excel en dur sur mon ordinateur.
Si je fais le publipostage avec création d'un word ou d'un PDF, le fichier Excel est présent en deuxième pièce jointe.
Si je choisis l'option "En tant que corps du message", il n'y a aucun fichier transmis.
Seul test non encore effectué, changer de PC pour voir si ce n'est pas une problématique isolée.
En attendant de tester la version 5, je contourne le problème en envoyant un courrier d'accompagnement généré en publipostage par le fichier Word afin de pouvoir transmettre mon fichier Excel.
Bonne journée,
Bonjour Olivier,
Je n'ai d'idée sur l'origine du problème.
> En mettant Outlook en mode "Hors connexion", les messages ne sont pas envoyés et sont donc consultables dans la boîte d'envoie du compte. Ont ils déjà perdus la pièce jointe ?
Si le fichier est présent, la perte se fait à l'envoie, je sais que le format de message RTF n'est pas "aimé" et est parfois convertit en HTML par les serveurs d'entreprise, c'est peut être là que le fichier est supprimé.
> Avec un simple fichier texte en pièce jointe au lieu d'un fichier Excel, y a t'il aussi disparition de la pièce jointe ?
> Si le fichier Excel contient des macros (format xls, xlt, xlsm, xltm, xlb, xla), il est peut être supprimé par la sécurité du serveur Exchange (d'entreprise) qui ont des blacklistes de format de fichier considéré comme indésirables (il faut alors les empaqueter dans un zip par exemple).
Bonjour,
La version V5, avec l'option Corps de texte HTML me permet d'envoyer mon fichier Excel sans souci maintenant.
Avec l'option RTF, je ne retrouve toujours pas la pièce jointe dans le mail..... Pas grave !
Merci pour cette MàJ.
Bonne journée,
Bonjour, merci tout d'abord pour votre outil qui est vraiment très pratique.
Je rebondis sur le dernier cas évoqué, de mon côté la pièce-jointe (un fichier excel en l'espèce) se met dans le corps du texte du mail envoyé, en format "Outlook file attachement" et non pas en tête de mail, comme une pièce-jointe classique.
Pour essayer de contourner ce problème, j'ai déplacé mes fichiers de one-drive à un sotckage local mais cela reste pareil. Auriez-vous une idée pour que la pièce-jointe soit envoyée en mode "classique" ?
Merci à vous
Antoine
Bonjour Antoine,
Afin de préserver au mieux la présentation du document lors d'un envoi avec l'option "Corps de message", le format du message est RTF.
Malheureusement, à ma connaissance, avec ce format les pièces jointes s'affichent dans le corps des messages.
Je vais essayer d'ajouter une option "Corps de message (HTML)" à la prochaine version (il y aura plus de "pertes" en terme de fidélité de présentation mais les messages seront plus compatibles et les pièces jointes en position classiques).
Votre message confirme aussi que sur d'autres ordinateurs que le mien les pièces jointes sont bien présentes (dans le texte). Cela me rassure par rapport aux messages d'Olivier.
Bonne journée
Bonjour Arnaud,
Merci pour votre retour. Y a-t-il un moyen de positionner l'icône de la pièce-jointe à un certain endroit dans le corps de mail ?
Merci à vous,
Antoine
Bonjour Antoine,
Non pas pour l'instant mais c'est une idée à développer.
Mais comment déterminer/marquer cette position (via un signet, un nombre de caractères/paragraphes, un tableau...) => A réfléchir
Arnaud
Bonsoir Antoine,
Nouvelle version en ligne
Elle permet de choisir la position des pièces jointes avec l'option "Corps de message RTF" mais aussi avec l'option "Corps de message HTML" d'avoir un positionnement "standard" (hors corps du message).
Arnaud
Bonjour,
Tout d'abord je suis un peu novice dans l'exploitation des macros.
Votre outil semble convenir à ce que j'ai à faire à savoir :
L'envoi de 2 fichier personnalisés l'un appelé "convoc xyz@laposte.net.pdf" et le deuxième "pouvoir xyz@laposte.net.pdf" à 118 personnes. Le "xyz" change bien entendu à chaque fois.
Les 2 fichiers personnalisés sont déjà enregistrés au nom des destinataires au format pdf
Je dois joindre à chaque envoi 3 documents au format pdf.
Les 5 fichiers pdf sont en pièces jointes et le corps de l'e-mail est identique pour les 118 destinataires.
Précaution, je ne ferai pas l'envoi en un seul bloc car risque de blocage de mon serveur de messagerie.
D'autre part, vous conseillez d'installer le fichier "OutilsPublipostage3.dotm dans le dossier "%AppData%\Microsoft\Word\STARTUP" c'est à dire par exemple
"C:\Users\VOTREPROFIL\AppData\Roaming\Microsoft\Word\STARTUP". et je n'ai pas "AppData" après mon nom d'utilisateur (il faut peut-être le créer ?)
Merci à vous
Jean-Marc
Bonjour Jean-Marc,
Cette outil est lié au publipostage Word, je n'ai pas l'impression que ce soit votre cas (les documents sont tous déjà générés) donc il ne correspond pas à votre besoin.
En détournant la fonction publipostage de Word ça pourrait peut être se faire.
On va faire un publipostage, avec le message du mail, sans forcement placer de champ de fusion.
On va choisir "En tant que corps de message (RTF)" (Pour ne pas avoir une 6ème PJ)
Pour ajouter les fichiers xyz (qui sont liés aux destinataire) il va falloir passer par le champ PJ (champs donnant les chemins d'accès aux fichiers, à préparer dans la base de données =>plus simple à réaliser dans Excel)
Pour les 3 autres fichiers autant faire de même.
L'inconvénient de cette manipulation est que le format du message sera RTF et si vos destinataires ne sont pas des utilisateurs d'Outlook il peut y avoir incompatibilité !.
Pour AppData c'est un dossier caché, le plus simple est de copier/coller "%AppData%\Microsoft\Word\STARTUP" dans la barre d'adresse de l'explorateur Windows
(Pour information : Pour la prochaine version, je vais essayer, entre autre, de proposer une option "En tant que corps de message (HTML)" (évitant ce problème de compatibilité) mais je ne peux pas donner de date de disponibilité)
Bonjour Arnaud,
Tout d'abord merci beaucoup pour votre réponse et surtout votre réactivité.
J'avais pensé utiliser le publipostage Word mais le souci c'est que j'ai 2 courriers personnalisés à envoyer et sauf erreur on ne peut envoyer qu'un seul courrier à la fois.
Comme vous l'avez compris l'envoi comprend une convocation à une AG et un pouvoir + des pièces jointes.
Encore merci.
Cordialement
J.M
Bonjour Arnaud,
Super outil ça me fait gagner énormément de temps.
J'avais une petite question. Je fais pas mal de publipostage mais avec votre outil les emails sont envoyés sans ma signature d'email. Il y a t'il moyen de résoudre ça ?
Merci beaucoup
Bonjour Hugo,
Merci pour votre commentaire. Je n'avais pas vu ce comportement (la signature s'insère bien mais est supprimée au changement du format du mail, les mystères de Microsoft !)
Je pense sortir d'ici la fin de semaine une nouvelle version répondant notamment à plusieurs attentes d'utilisateurs, je vais y incorporer l'ajout de la signature.
Arnaud
Bonsoir Hugo,
Dans les temps 🙂
Nouvelle version en ligne permettant de conserver la signature Outlook (sauf en format RTF)
Arnaud
Merci beaucoup ! Faut que je test ça.
Bonsoir,
Bravo pour cet outil très pratique et très bien fait. Merci
Quand j'essaie d'utiliser la fonction d'envoi par email en utilisant Outlook standard (simplement), j'ai une erreur dont le message est
"Le serveur distant n'existe pas ou n'est pas disponible (452)"
Avez-vous une idée de la cause de cette erreur ?
Je vous remercie
Bonjour,
Je pense que le problème vient du compte d'envoi (zone DE).
On ne peut utiliser qu'un compte d'envoi déjà configuré et fonctionnel dans Outlook dans ce cas de configuration de l'outil.
Etes-vous sur, que directement depuis Outlook, vous arrivez à envoyer des mails avec ce compte (celui de la zone compte ou celui indiqué par le champ sélectionné).
Si vous utiliser un champ, il se peut qu'un espace soit saisie par erreur avant ou après le texte du nom de champ pour l'enregistrement posant problème (la nouvelle version, en préparation, va corriger notamment ce genre d'erreur utilisateur).
Merci pour votre intérêt
Bonne fêtes
Bonjour,
Un grand merci pour tout ce travail.
Il m'a permis d'envoyé simplement une centaine de factures générées en publipostage directement par mail à chacun, c'est génial !
Le tutorial présent ici est clair, détaillé, bref un super travail !
Merci à vous d'avoir partager votre travail !
Bonsoir Sébastien,
Merci pour ce commentaire. C'est toujours utile et agréable d'avoir un retour d'utilisateur.
J'en profite pour annoncer une V6 est en préparation (correction de bugs, sécurisation du fichier de configuration, options supplémentaires dans le fichier de réponse, fichier installeur) mais je ne trouve pas le temps de la finaliser.
Concernant le tutorial je me posais la question de le réorganiser différemment pour mieux séparer une utilisation classique/simple d'une utilisation plus "techno" avec le fichier de réponse (qui perd certains utilisateurs).
Bonne semaine
Bonjour.
Merci pour ce travail remarquable qui simplifie grandement la gestion de publipostage 🙂
A se demander comment Microsoft ne l'a pas implémenté directement...
A noter qu'on reste tout de même tributaires des temps de fusion Word / Excel (pour mon cas près de 4.000 documents), mais là on ne peut pas y faire grand chose.
Cordialement.
Bonjour,
Merci pour ce sympathique message, cela fait plaisir.
Je n'ai fais des tests que sur des petits volumes de données donc je serais intéressé d'avoir un petit retour d'expérience.
Dois-je comprendre que vous avez utilisez l'outil sur une base de 4 000 enregistrements ?
Si oui, quelle était la taille du document principal (nb de page, poids de Ko) et quel est temps d'exécution (je n'ai besoin de valeurs précises, un simple ordre d'idée) ?
Bonne journée