Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Fusion de mail mais recevoir un accusé réception aussi

10 réponses
Avatar
Souriane
Je veux faire une =AB fusion avec un message =E9lectronique =BB dans Word.
Les donn=E9es proviennent d=92Access.

Mais voil=E0, j=92ai besoin d=92un accus=E9 r=E9ception pour chaque courrie=
l.
Quand je pr=E9pare mon document, dans Word, je clique sur le bouton =AB
Message =E9lectronique =BB pour pouvoir la barre d=92outils n=E9cessaire. =
Je
clique sur le bouton =AB Options =BB. Puis sur =AB Demander un accus=E9
r=E9ception pour ce message =BB. Ok.

Je continue avec ma fusion =AB Fusionner avec un message =E9lectronique =BB
et tout le reste. Mais quand tout est parti, je ne re=E7ois jamais de
confirmation de r=E9ception.

Est-ce qu=92il y a un truc, un code VBA, quelque chose que je peux
faire?

Merci!

Souriane

10 réponses

Avatar
heureux-oli
Salut Souriane,

Je pense que le plus sage est de faire le publipostage en utilisant la
bibliothèque Outlook.

Une piste :

Sub Mailit()
Dim aO As Outlook.Application
Dim myMsg As Outlook.MailItem
set aO = Outlook.application
Set myMsg = aO.CreateItem(olMailItem)

myMsg.ReadReceiptRequested = True


End Sub

--
Heureux-oli
Si rien n'est mentionné pour le code, c'est que j'en suis l'auteur.
http://heureuxoli.developpez.com/
http://word.developpez.com/
http://marie-lebeau.heaj.be/

----------------------------------------------------------------------------------

"Souriane" a écrit dans le message de news:

Je veux faire une « fusion avec un message électronique » dans Word.
Les données proviennent d’Access.

Mais voilà, j’ai besoin d’un accusé réception pour chaque courriel.
Quand je prépare mon document, dans Word, je clique sur le bouton «
Message électronique » pour pouvoir la barre d’outils nécessaire. Je
clique sur le bouton « Options ». Puis sur « Demander un accusé
réception pour ce message ». Ok.

Je continue avec ma fusion « Fusionner avec un message électronique »
et tout le reste. Mais quand tout est parti, je ne reçois jamais de
confirmation de réception.

Est-ce qu’il y a un truc, un code VBA, quelque chose que je peux
faire?

Merci!

Souriane
Avatar
Souriane
Est-ce que la biblio d’Outlook est le carnet d’adresses? Car si oui,
ce n’est pas possible étant donné que ma base où je vais puiser les
courriels est montée en Access.

Souriane

On 28 août, 15:50, "heureux-oli" wrote:
Salut Souriane,

Je pense que le plus sage est de faire le publipostage en utilisant la
bibliothèque Outlook.

Une piste :

Sub Mailit()
Dim aO As Outlook.Application
Dim myMsg As Outlook.MailItem
set aO = Outlook.application
Set myMsg = aO.CreateItem(olMailItem)

myMsg.ReadReceiptRequested = True

End Sub

--
Heureux-oli


Avatar
heureux-oli
Salut,

Non, le carnet d'adresse c'est autre chose.


************************************
Dim oApp As Outlook.Application

Set oApp = Outlook.Application
************************************

C'est l'utilisation de Outlook, c'est en quelque sorte une bibliothèque et
les objet méthodes et propriétés sont alors utilisables.
L'accusé de réception est propre à Outlook et je ne pense pas que tu puisses
utiliser cette propriété sans passer par Outlook.



--
Heureux-oli
Si rien n'est mentionné pour le code, c'est que j'en suis l'auteur.
http://heureuxoli.developpez.com/
http://word.developpez.com/
http://marie-lebeau.heaj.be/

----------------------------------------------------------------------------------

"Souriane" a écrit dans le message de news:

Est-ce que la biblio d’Outlook est le carnet d’adresses? Car si oui,
ce n’est pas possible étant donné que ma base où je vais puiser les
courriels est montée en Access.

Souriane

On 28 août, 15:50, "heureux-oli" wrote:
Salut Souriane,

Je pense que le plus sage est de faire le publipostage en utilisant la
bibliothèque Outlook.

Une piste :

Sub Mailit()
Dim aO As Outlook.Application
Dim myMsg As Outlook.MailItem
set aO = Outlook.application
Set myMsg = aO.CreateItem(olMailItem)

myMsg.ReadReceiptRequested = True

End Sub

--
Heureux-oli


Avatar
Geo
Bonjour Souriane
[ Cette réponse est faite sur le forum public Word :
news://msnews.microsoft.com/microsoft.public.fr.word ]
Est-ce que la biblio d’Outlook est le carnet d’adresses? Car si oui,
ce n’est pas possible étant donné que ma base où je vais puiser les
courriels est montée en Access.



Dans votre livre sur le vba il y a un exemple de fusion et
publipostage, en partant d'un fichier Excel.
Vous pourriez tenter de l'adapter et ajouter l'instruction indiqué par
Olivier.
Ca fait quand même du travail.

--
A+
Avatar
Souriane
Bonjour!

Je suis sur un début de voie avec ce que vous m'avez donné j'ai cherché à
gauche et à droite et je suis rendue à ceci :

Sub Mailit()
Dim MonOutlook As Object
Dim MonMessage As Object
Set MonOutlook = CreateObject("Outlook.Application")
Set MonMessage = MonOutlook.createitem(0)
MonMessage.To = ""
MonMessage.Subject = "Titre"
MonMessage.body = "Lettre du courriel"
MonMessage.ReadReceiptRequested = True
MonMessage.send
Set MonOutlook = Nothing
End Sub

Ça fonctionne bien, sauf que cela ne fait pas encore ce que je souhaite :
le "To" doit aller chercher les courriels dans une Requête d'Access.

Comme dois-je faire ajouter le tout au code?

Bonne journée!

Souriane
Longueuil, Qc


"heureux-oli" a écrit dans le message de news:

Salut,

Non, le carnet d'adresse c'est autre chose.


************************************
Dim oApp As Outlook.Application

Set oApp = Outlook.Application
************************************

C'est l'utilisation de Outlook, c'est en quelque sorte une bibliothèque et
les objet méthodes et propriétés sont alors utilisables.
L'accusé de réception est propre à Outlook et je ne pense pas que tu
puisses utiliser cette propriété sans passer par Outlook.



--
Heureux-oli
Si rien n'est mentionné pour le code, c'est que j'en suis l'auteur.
http://heureuxoli.developpez.com/
http://word.developpez.com/
http://marie-lebeau.heaj.be/

----------------------------------------------------------------------------------

"Souriane" a écrit dans le message de news:

Est-ce que la biblio d'Outlook est le carnet d'adresses? Car si oui,
ce n'est pas possible étant donné que ma base où je vais puiser les
courriels est montée en Access.

Souriane

On 28 août, 15:50, "heureux-oli" wrote:
Salut Souriane,

Je pense que le plus sage est de faire le publipostage en utilisant la
bibliothèque Outlook.

Une piste :

Sub Mailit()
Dim aO As Outlook.Application
Dim myMsg As Outlook.MailItem
set aO = Outlook.application
Set myMsg = aO.CreateItem(olMailItem)

myMsg.ReadReceiptRequested = True

End Sub

--
Heureux-oli






Avatar
Souriane
Bonjour,

Up!

Est-ce que quelqu'un est en mesure de m'aider sur celle-
ci? :-) :-) :-)

Merci!

souriane

On 3 sep, 15:30, "Souriane" wrote:
Bonjour!

Je suis sur un début de voie avec ce que vous m'avez donné j'ai cherc hé à
gauche et à droite et je suis rendue à ceci :

Sub Mailit()
  Dim MonOutlook As Object
  Dim MonMessage As Object
  Set MonOutlook = CreateObject("Outlook.Application")
  Set MonMessage = MonOutlook.createitem(0)
  MonMessage.To = ""
  MonMessage.Subject = "Titre"
  MonMessage.body = "Lettre du courriel"
  MonMessage.ReadReceiptRequested = True
  MonMessage.send
  Set MonOutlook = Nothing
End Sub

Ça fonctionne bien, sauf que cela ne fait pas encore ce que je souhaite :
le "To" doit aller chercher les courriels dans une Requête d'Access.

Comme dois-je faire ajouter le tout au code?

Bonne journée!

Souriane
Longueuil, Qc

"heureux-oli" a écrit dans le message de news:




> Salut,

> Non, le carnet d'adresse c'est autre chose.

> ************************************
> Dim oApp As Outlook.Application

> Set oApp = Outlook.Application
> ************************************

> C'est l'utilisation de Outlook, c'est en quelque sorte une bibliothèq ue et
> les objet méthodes et propriétés sont alors utilisables.
> L'accusé de réception est propre à Outlook et je ne pense pas que tu
> puisses utiliser cette propriété sans passer par Outlook.

> --
> Heureux-oli
> Si rien n'est mentionné pour le code, c'est que j'en suis l'auteur.
>http://heureuxoli.developpez.com/
>http://word.developpez.com/
>http://marie-lebeau.heaj.be/

> ----------------------------------------------------------------------- ----­-------

> "Souriane" a écrit dans le message de news:
>
> Est-ce que la biblio d'Outlook est le carnet d'adresses?  Car si oui,
> ce n'est pas possible étant donné que ma base où je vais puiser l es
> courriels est montée en Access.

> Souriane

> On 28 août, 15:50, "heureux-oli" wrote:
>> Salut Souriane,

>> Je pense que le plus sage est de faire le publipostage en utilisant la
>> bibliothèque Outlook.

>> Une piste :

>> Sub Mailit()
>> Dim aO As Outlook.Application
>> Dim myMsg As Outlook.MailItem
>> set aO = Outlook.application
>> Set myMsg = aO.CreateItem(olMailItem)

>> myMsg.ReadReceiptRequested = True

>> End Sub

>> --
>> Heureux-oli- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Avatar
Geo
Bonjour Souriane


Avec Excel je vous aurais conseillé un bouquin, mais vous le
connaissez.
:-)
Avec Acces je n'y connais rien.
Peut-être sur le forum Access ?

--
A+
Avatar
Misange
Bonjour
Il vaudrait mieux poser la question sur le forum access. Mais
sincèrement, vous trouvez utile ces accusés de réception ? Pour ma part,
et comme la très grande majorité de mes collègues, j'ai fait en sorte de
ne même pas savoir quand un accusé de réception est demandé et de ne
JAMAIS y répondre de toutes façons. La raison? Beaucoup de spammeur
utilisent cette technique de façon à créer des listes de mails validés,
ce qui permet ensuite de mieux spammer.
Quand je veux vraiment un accusé de réception, je demande dans le
message de me senvoyer un simple "reçu" quand c'est le cas.

Misange migrateuse
http://www.excelabo.net : Participez à un travail collaboratif sur excel !


Souriane a écrit :
Bonjour,

Up!

Est-ce que quelqu'un est en mesure de m'aider sur celle-
ci? :-) :-) :-)

Merci!

souriane

On 3 sep, 15:30, "Souriane" wrote:
Bonjour!

Je suis sur un début de voie avec ce que vous m'avez donné j'ai cherché à
gauche et à droite et je suis rendue à ceci :

Sub Mailit()
Dim MonOutlook As Object
Dim MonMessage As Object
Set MonOutlook = CreateObject("Outlook.Application")
Set MonMessage = MonOutlook.createitem(0)
MonMessage.To = ""
MonMessage.Subject = "Titre"
MonMessage.body = "Lettre du courriel"
MonMessage.ReadReceiptRequested = True
MonMessage.send
Set MonOutlook = Nothing
End Sub

Ça fonctionne bien, sauf que cela ne fait pas encore ce que je souhaite :
le "To" doit aller chercher les courriels dans une Requête d'Access.

Comme dois-je faire ajouter le tout au code?

Bonne journée!

Souriane
Longueuil, Qc

"heureux-oli" a écrit dans le message de news:




Salut,
Non, le carnet d'adresse c'est autre chose.
************************************
Dim oApp As Outlook.Application
Set oApp = Outlook.Application
************************************
C'est l'utilisation de Outlook, c'est en quelque sorte une bibliothèque et
les objet méthodes et propriétés sont alors utilisables.
L'accusé de réception est propre à Outlook et je ne pense pas que tu
puisses utiliser cette propriété sans passer par Outlook.
--
Heureux-oli
Si rien n'est mentionné pour le code, c'est que j'en suis l'auteur.
http://heureuxoli.developpez.com/
http://word.developpez.com/
http://marie-lebeau.heaj.be/
---------------------------------------------------------------------------­-------
"Souriane" a écrit dans le message de news:

Est-ce que la biblio d'Outlook est le carnet d'adresses? Car si oui,
ce n'est pas possible étant donné que ma base où je vais puiser les
courriels est montée en Access.
Souriane
On 28 août, 15:50, "heureux-oli" wrote:
Salut Souriane,
Je pense que le plus sage est de faire le publipostage en utilisant la
bibliothèque Outlook.
Une piste :
Sub Mailit()
Dim aO As Outlook.Application
Dim myMsg As Outlook.MailItem
set aO = Outlook.application
Set myMsg = aO.CreateItem(olMailItem)
myMsg.ReadReceiptRequested = True
End Sub
--
Heureux-oli- Masquer le texte des messages précédents -




- Afficher le texte des messages précédents -





Avatar
Gloops
Bonjour,

Sub MailLit()
Dim Rs As Recordset

'placer le code existant ici, sauf les deux dernières instructions
'et l'initialisation de MonMessage.To

'Voir lors des tests si il convient de recréer un message
'pour chaque destinataire, auquel cas, placer dans la boucle
'Set MonMessage = MonOutlook.CreateItem(0)
'et les instructions suivantes.

Set Rs = OpenRecordset("SELECT * FROM tabDestinataires")

'A adapter aux données bien sûr.
'Un deuxième argument permet de préciser des options,
'voir l'aide de Recordset.
'Syntaxe valable pour un jeu d'enregistrements DAO.
'Pour un jeu d'enregistrements ADO la syntaxe d'ouverture
'est un peu différente.

While Not Rs.EOF
MonMessage.To = Rs!desMail 'desMail est le nom du champ
'qui contient l'adresse mail
MonMessage.Send
Wend
Rs.Close
Set Rs = Nothing
Set MonOutlook = Nothing
MsgBox "Fin de traitement d'envoi des mails"
End Sub

Attention, pour que l'objet Recordset soit reconnu, il faut avoir
déclaré la référence qui va bien, qui dépend du type de base ou verte (en
l'occurrence Access si je comprends bien).

La commande Références se trouve dans le menu Outils du module VBA.

Il peut être utile de prévoir une vérification de la présence d'u ne
adresse mail dans le champ. Première étape vérifier que le champ n' est
pas vide, deuxième étape vérifier qu'il répond à la syntaxe d'u ne
adresse mail avec notamment un arobase et un point, troisième étape . ..
insérer une gestion d'erreur dans la procédure (au début On Error G oto
Etiquette, à la fin Exit Sub suivi de :Etiquette et du code de
l'erreur). A la place de Etiquette on mettra un mot significatif, il ne
faut pas que les étiquettes de deux procédures du module portent le m ême
nom.

Erreur classique : oublier Exit Sub avant la procédure d'erreur.
Résultat "Erreur 0" en fin de traitement.
_______________________________________
Souriane a écrit, le 03/09/2009 21:30 :
Bonjour!

Je suis sur un début de voie avec ce que vous m'avez donné j'ai che rché à
gauche et à droite et je suis rendue à ceci :

Sub Mailit()
Dim MonOutlook As Object
Dim MonMessage As Object
Set MonOutlook = CreateObject("Outlook.Application")
Set MonMessage = MonOutlook.createitem(0)
MonMessage.To = ""
MonMessage.Subject = "Titre"
MonMessage.body = "Lettre du courriel"
MonMessage.ReadReceiptRequested = True
MonMessage.send
Set MonOutlook = Nothing
End Sub

Ça fonctionne bien, sauf que cela ne fait pas encore ce que je souhai te :
le "To" doit aller chercher les courriels dans une Requête d'Access.

Comme dois-je faire ajouter le tout au code?

Bonne journée!

Souriane
Longueuil, Qc


"heureux-oli" a écrit dans le message d e news:

Salut,

Non, le carnet d'adresse c'est autre chose.


************************************
Dim oApp As Outlook.Application

Set oApp = Outlook.Application
************************************

C'est l'utilisation de Outlook, c'est en quelque sorte une bibliothè que et
les objet méthodes et propriétés sont alors utilisables.
L'accusé de réception est propre à Outlook et je ne pense pas qu e tu
puisses utiliser cette propriété sans passer par Outlook.



--
Heureux-oli
Si rien n'est mentionné pour le code, c'est que j'en suis l'auteur.
http://heureuxoli.developpez.com/
http://word.developpez.com/
http://marie-lebeau.heaj.be/

---------------------------------------------------------------------- ------------

"Souriane" a écrit dans le message de news:

Est-ce que la biblio d'Outlook est le carnet d'adresses? Car si oui,
ce n'est pas possible étant donné que ma base où je vais puiser les
courriels est montée en Access.

Souriane

On 28 août, 15:50, "heureux-oli" wrote :
Salut Souriane,

Je pense que le plus sage est de faire le publipostage en utilisant l a
bibliothèque Outlook.

Une piste :

Sub Mailit()
Dim aO As Outlook.Application
Dim myMsg As Outlook.MailItem
set aO = Outlook.application
Set myMsg = aO.CreateItem(olMailItem)

myMsg.ReadReceiptRequested = True

End Sub

--
Heureux-oli









Avatar
Gloops
Oops, j'ai oublié une instruction. Si on exécute ça comme ça, le premier
destinataire de la liste va continuer à recevoir le mail (à une caden ce
qui dépend de la machine expéditrice) jusqu'à ce que le serveur SMT P
ferme le robinet et qu'on ne puisse plus envoyer de mail du tout.

Voir ci-dessous :

Gloops a écrit, le 23/09/2009 10:14 :
While Not Rs.EOF
MonMessage.To = Rs!desMail 'desMail est le nom du champ
'qui contient l'adresse mail
MonMessage.Send


Rs.MoveNext
Wend