XL 2013 envoi de mail à plusieurs destinataires en cliquant sur un bouton

tigeline001

XLDnaute Occasionnel
Bonjour
j'ai une application qui permet d'envoyer des rappels à plusieurs de mes contacts (sous forme de mail) qui étaient sur Outlook 2010 et ça marchait très bien mais depuis qu'ils sont migrés vers Outlook 2013 l'application ne fonctionne plus et elle me renvoi l'erreur suivant:
Erreur d'éxecution '1004':
Panne générale de la messagerie. Quittez Microsoft Office Excel,
redémarrez le système de messagerie et réessayez.
Pour vous donner une des fonctions utilisées je vous mets le bout de code suivant
ThisWorkbook.Worksheets("Rappel").Copy
With ActiveWorkbook
.SaveAs tempFilePath & tempFileName & ".xlsx", _
FileFormat:=51
.sendMail Recipients:=emails, Subject:="Intervention " & noInterv & " Rappel: Attente d'informations de la part de l'inspecteur"
.Close SaveChanges:=False
End With

En mettant l.erreur la ligne sendMail Recipients := emails ......... est en jaune
emails représente le tableau des mails

Auriez-vous une piste pour résoudre ce facheux problème ??

D'avance un grand merci
 

Lone-wolf

XLDnaute Barbatruc
Re : envoi de mail à plusieurs destinataires en cliquant sur un bouton

Bonsoir tigeline,

Essaie ceci. Il faut activer la référence Microsoft Outlook xx.0 Object Library

Code:
Sub Envoi_Mail()
    Dim i, num As Integer, r
    Dim destA, desB
    Dim OutApp As Object
    Dim OutMail As Object
 
    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)
num = 1
With Sheets("Feuil1")
destA = .Range("a2") & "<" & .Range("b2") & ">;"    ' 1ère adresse d'envoi
For i = 3 To 10  '(10) Lignes - 1 à modifier selon le nombre de destinataires, si 32 destB mettre 31
num = num + 1
             'Nom Complet DestB          'Adresse mail DestB
r = r & " " & .Range("a" & num) & "<" & .Range("b" & num) & ">;"
Next
destB = r
End With

With OutMail
        .To = destA
        .CC = Trim(destB)
        .Subject = ""
        .HTMLBody = ""
        .Display '.Send pour envoyer
    End With
    Set OutMail = Nothing
    Set OutApp = Nothing
End Sub

+ fichier exemple



A+ :cool:
 

Pièces jointes

  • Envoi destinataires Outlook.xls
    37 KB · Affichages: 87
Dernière édition:

tigeline001

XLDnaute Occasionnel
Re : envoi de mail à plusieurs destinataires en cliquant sur un bouton

Merci Lone-wolf
je vais le tester car actuellement mon outlook n'est pas connecter.
Pour mon cas j'ai déja la liste des destinataire dans un tableau ,j'ai pas besoin d'une boucle pour les recuperer et les concatener et aussi si ce n'est pas possible d'envoyer le body par pièce jointe ,comment faire avec ta méthode car le message à envoyer est predefini
Merci
 

Lone-wolf

XLDnaute Barbatruc
Re : envoi de mail à plusieurs destinataires en cliquant sur un bouton

Re,

voici la macro au complet, avec corps du message et pièce jointe. Les noms des destinataires étaients déjà pris en compte dans la macro précédente, faut juste faire les modifications nécessaires (Nom de la feuille, lignes, colonnes).


Code:
Sub Envoi_Mail()
    Dim i, num As Integer, Fichier As String, Texte as String, r
    Dim DestA, DestB
    Dim OutApp As Object
    Dim OutMail As Object
 
    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)

num = 1
With Sheets("Feuil1")
destA = .Range("a2") & "<" & .Range("b2") & ">;"    ' 1ère adresse d'envoi
For i = 3 To 10  '(10) Lignes - 1 à modifier selon le nombre de destinataires, si 32 destB mettre 31
num = num + 1
             'Nom Complet DestB          'Adresse mail DestB
r = r & " " & .Range("a" & num) & "<" & .Range("b" & num) & ">;"
Next
destB = r
End With

Fichier = "C:\Chemin\NomFichier.ext"  ' À modifier
    If Nom_Fichier = "" Then Exit Sub

Texte = "Bonjour à tous," & vbCrLf & vbCrLf _
& "Veuillez trouvez ci-joint le fichier mis à jour" & vbCrLf & vbCrLf _
& "Cordialement " 

With OutMail
        .To = destA
        .CC = Trim(destB)
        .Subject = ""
        .HTMLBody = Texte
        .Attachments.Add Fichier
        .Display '.Send pour envoyer
   End With
    Set OutMail = Nothing
    Set OutApp = Nothing
End Sub



A+ :cool:
 

Lone-wolf

XLDnaute Barbatruc
Re : envoi de mail à plusieurs destinataires en cliquant sur un bouton

Re,

Une correction concernant le sujet et corps du message, désolé pour le manque d'attention.


Code:
Texte = "Bonjour à tous," & vbCrLf & vbCrLf & _
"Veuillez trouvez ci-joint le fichier mis à jour." & vbCrLf & vbCrLf & _
"Cordialement"

With OutMail
        .To = DestA
        .CC = Trim(DestB)
        .Subject = "Fichier mis à jour"
        .Attachments.Add Fichier
        .Body = Texte
        .Display '.Send pour envoyer
End With


A+ :cool:
 

Discussions similaires

D
Réponses
2
Affichages
2 K
D

Statistiques des forums

Discussions
314 629
Messages
2 111 351
Membres
111 111
dernier inscrit
houndemint