Essayez plutôt votre code mail comme ceci :
Sub EnvoiMail()
Dim listedest()
Dim i As Long
Dim dest
Dim oMsgApp As Outlook.Application
Dim oMsg As Outlook.MailItem
Dim slistedest As String, sFichier As String
sFichier = Application.GetOpenFilename(, , "Sélectionner le fichier à envoyer")
If sFichier = "" Then
MsgBox "Aucun fichier sélectionné, Opération annulée"
Exit Sub
End If
Set oMsgApp = New Outlook.Application
listedest() = Range("TBase[Contact Mail]")
slistedest = ""
For i = LBound(listedest(), 1) To UBound(listedest(), 1)
dest = Range("TBase[Contact Mail]").Item(i)
If dest <> "" Then slistedest = dest & ";" & slistedest
Next i
Set oMsg = oMsgApp.CreateItem(olMailItem)
With oMsg
'.To = votre adresse mail
.CCi = slistedest
.Attachments.Add sFichier
.Subject = "Fichier de la semaine"
.Body = "Veuillez trouver ci-joint le fichier de la semaine." & Chr(10) & Chr(13) & "Bonne journée"
.Send
End With
oMsgApp.Quit
Set oMsgApp = Nothing
Set oMsg = Nothing
MsgBox "Mail envoyé"
End Sub
A noter que :
- je vous conseille de placer votre adresse perso dans TO et de mettre tous les destinataires en CCi. J'imagine que vous n'avez pas envie que toutes les entreprises puissent voir vos client et prospets.... en tant que Commercial, ce serait se tirer une balle dans le pied, je pense
- il serait peut être plus judicieux de remplacer SEND par DISPLAY. Cela permet de vérifier que tout est ok dans votre mailing
Si ok, je vous placerai le fichier avec les modifications et cette macro mail