OVH Cloud OVH Cloud

VBA: Publipostage et messagerie

1 réponse
Avatar
Antoine
Bonjour,

Je rencontre un problème lors d'un publipostage vers la messagerie.
Lorsque le champ de ma source de données, correspondant à l'adresse mail,
contient un tiret (ex: E-mail), la methode Execute me renvoie cette erreur:
"Publipostage ou télécopie impossibles sans adresse valide. Cliquez sur le
bouton Configurer pour sélectionner un champ de messagerie"

Je n'ai pas le problème lorsque le champ se nomme par exemple "Email".
Est-ce logique ? Y a t-il un moyen de contourner le problème ?

Voici une partie du code utilisé

With OLE1.object.Application
.ActiveDocument.MailMerge.OpenDataSource SourceDonnee
.ActiveDocument.Save
With .ActiveDocument.MailMerge
.Destination = wdSendToEmail
.MailAddressFieldName = ZoneEmail -> ( si ZoneEmail
= "E-mail", message d'erreur )
.MailSubject = "essai"
.MailAsAttachment = False
.SuppressBlankLines = True
With .DataSource
.FirstRecord = wdDefaultFirstRecord
.LastRecord = wdDefaultLastRecord
End With
.Execute True
End With
.Quit wdDoNotSaveChanges
End With

Merci,
Antoine

1 réponse

Avatar
Anacoluthe
Bonjour !

'Antoine' nous a écrit ...
Je rencontre un problème lors d'un publipostage vers la messagerie.
Lorsque le champ de ma source de données, correspondant à l'adresse mail,
contient un tiret (ex: E-mail), la methode Execute me renvoie cette erreur:
"Publipostage ou télécopie impossibles sans adresse valide. Cliquez sur le
bouton Configurer pour sélectionner un champ de messagerie"
Je n'ai pas le problème lorsque le champ se nomme par exemple "Email".
Est-ce logique ? Y a t-il un moyen de contourner le problème ?


Le problème ne vient pas de Word mais de la requête aux données.
Le tiret n'est pas un caractère autorisé dans les noms de champs ODBC
car il est assimilé à un séparateur. Essayez de remplacer E-mail par
"E-Mail" en forçant les guillemets
.MailAddressFieldName = Chr(34) & ZoneEmail & Chr(34)
Je n'ai pas testé dans votre exemple, mais parfois ça passe
ou alors changez d'accès aux données (DDE par exemple)
ou alors bannissez les tirets des noms des champs !

Anacoluthe
« Quand on a du caractère, il est toujours mauvais. »
- Georges CLEMENCEAU