Insertion automatique destinataire dans outlook

Bonjour,

Je travaille actuellement sur la réalisation d’un fichier Excel permettant d’envoyer automatiquement un mail aux personnes concernées.

Je bloque cependant sur deux étapes :

  • Copier / coller les adresses mail dans Outlook (destinataire) (plage I1 : I19 de la feuille « Temp »)
  • Copier / coller le tableau dans le corps du message (plage A1 : D28 de la feuille « Temp »)

Voici le déroulement de ma macro :

 Création d’une feuille temporaire pour trier les données (nommée « Temp »)

 Copie de certaines données présentes sur la feuille « Suivi des OF » pour les coller dans la feuille « Temps ».

 Trie des données de la feuille « Temp » (mise en forme couleur / tri de A à Z).

 Création de l’e-mail.

 Suppression de la feuille « Temp »

Voici mon fichier :

41v0-25-forum.xlsm (52.93 Ko)

La macro est lancée par un clic sur le bouton « Envoi mail quotidien ».

(J’ai désactivé la suppression de la page « Temps » pour pouvoir sélectionner les données à intégrer dans l’e-mail).

J’espère avoir été assez clair dans mes explications.

Si quelque à une idée pour intégrer les deux étapes...

Merci

Bonjour,

Voir ce tuto

Tu dis.

A+

lermite a écrit :

Bonjour,

Voir ce tuto

Tu dis.

A+

Bonjour lermite, et merci de ta réponse.

Cependant je ne comprends pas comment appliquer ton code à ma macro.

En effet, je ne souhaite pas attacher une pièce jointe à mon mail, mais intégrer dans le corps du message, une plage de donnée de mon tableau.

Dans l’attente d’une réponse,

Slt

Je ne sais pas tester (mon outlook 2000 va plus sur Vista)

Mais je pense que tu met mal ton adresse dans Var3

essaye avec Var3 = Sheets("Temp").range("A1:A28")

A+

lermite a écrit :

Je ne sais pas tester (mon outlook 2000 va plus sur Vista)

Mais je pense que tu met mal ton adresse dans Var3

essaye avec Var3 = Sheets("Temp").range("A1:A28")

A+

J’ai essayé en remplaçant la Var3 par ta formule, mais la macro se met en mode débogage.

Pas facile cette macro, et je n’ai pas réussi à trouver de réponse au travers de mes différentes recherches.

Cldt

Quel est le message d'erreur ?

lermite a écrit :

Quel est le message d'erreur ?

Voici le message :

Erreur d'exécution '13' :

Incompatibilité de type

Re,

Cherche s'il n'y aurait pas une balise <Tableau> </Tableaux> ou <Image></Image>

Mon avis c'est quelque chose comme ça que tu dois trouver.

Tableau permettrait d'ajouter la plage.

Image, il y à moyen de convertir la plage en image mais je devrais rechercher commentt.

A+

Merci pour ton aide lermite.

Malgré mes recherches je n’ai toujours pas réussi à résoudre le problème d’insertion du tableau et des adresses dans le mail.

Si quelqu’un d’autre à une idée.

Merci.

Une autre piste ?

avec Enveloppe.

Voir ce tuto (en Anglais)

A+

Bonjour lermite,

Merci pour ce code, il permet effectivement de coller une plage de donnée dans l'e-mail.

Je vais regarder maintenant pour coller également les adresses mails et voir si cela est compatible avec la formule précédente.

Cldt

Bonjour,

Et voilà, enfin réussi à réaliser mes 2 requêtes :

  • Coller une plage de cellule dans le mail
  • Importer des adresses mails dans l’onglet destinataire d’Outlook

Ci-dessous le code si cela peut servir à quelqu’un.

Dim Adresses As String

With Sheets("Temp")
    For i = 1 To .Cells(Rows.Count, 1).End(xlUp).Row '<-- de la ligne 1 à la dernière ligne utilisée de la colonne A
        Adresses = Adresses & .Cells(i, 1) & ";" '<-- chaque adresse est enregistrée dans la variable "Adresses" et séparée par une virgule
    Next
End With

Var1= 'Plage de donnée à coller dans le mail

'Sélection des cellules à intégrer dans l'e-mail
   ActiveSheet.Range(Var1).Select

'Voir le bandeau de l'enveloppe "ActiveWorkbook"
   ActiveWorkbook.EnvelopeVisible = True

'Sélectionner l'onglet de l'enveloppe
   With ActiveSheet.MailEnvelope
'Déclarer le corps (message) du mail
      .Introduction = 'Inscrire ici le corps du message
'Déclarer les destinataires du mail
      .Item.To = Adresses
'Déclarer l'introduction (sujet) du mail
      .Item.Subject = 'Inscrire ici le sujet du message
'Envoyer l'e-mail
      .Item.Send
Rechercher des sujets similaires à "insertion automatique destinataire outlook"