Envoie de mail mais l'attache pose problème
Bonjour le forum,
désolé pour tous les messages mais j'essaye par moi même mais je bloque sur certaines choses...
j'essaye d'envoyer un mail via excel.
Dans un module "Save_excel" j'ai placé ce code :
' Sauvegarde fichier excel
Sub Sauver_en_Excel()
'Identification du répertoire de sauvegarde
RepertoryPath = "C:\MIKE\Devis " & Sheets("Maison type").Range("C5").Text & " " & Sheets("Maison type").Range("C6").Text & "\"
' Vérifier si chemin existe avec l'année, sinon le créer
If Dir(RepertoryPath, vbDirectory) = "" Then MkDir RepertoryPath
' Nom du fichier
FileName = "Devis_" & Sheets("Maison type").Range("C5").Text & " " & Sheets("Maison type").Range("C6").Text & "_" & Sheets("Maison type").Range("C3").Text & " " & Format(Date, "dd-mm-yy") & "_" & Format(Time, "hh-mm")
' Enregistrer-sous
ActiveWorkbook.SaveAs (RepertoryPath & FileName)
' envoyer par mail
If MsgBox("Voulez-vous l'envoyer par email?", vbYesNo) = vbYes Then
Call Email_Excel.EnvoyerMail(RepertoryPath, FileName)
End If
Application.ScreenUpdating = True
End SubDans un module "Email_excel" j'ai mis ce code :
' Envoie du mail
Sub EnvoyerMail(RepertoryPath, FileName)
Dim LeMail As Variant
Set LeMail = CreateObject("Outlook.Application") ' création d'un objet Outlook
With LeMail.CreateItem(olMailItem)
.Subject = "Votre devis pour : " & Sheets("Maison type").Range("C2").Text & " sis " & Sheets("Maison type").Range("E5").Text & ", " & Sheets("Maison type").Range("E6").Text
.To = Sheets("Maison type").Range("E8").Text
' .CC =
.BodyFormat = olFormatHTML 'olFormatPlain
.Body = "Votre devis blablabla"
.Attachments.Add RepertoryPath & FileName
.Display ' A décommenter si le mail dois s'afficher avant envoi manuel
'.Send ' A décommenter si le mail dois s'envoyer directement
End With
End SubTout fonctionne correctement sauf au niveau de l'attache, pouvez-vous m'aider svp.
Merci d'avance
Bonjour Heavy_B,
Le problème semble être lié à l'attachement de votre fichier Excel au mail. Dans le code que vous avez fourni, il semble que vous tentiez de joindre le fichier sans lui donner l'extension. L'extension du fichier (par exemple .xlsx pour un fichier Excel) est nécessaire pour que le système sache quel type de fichier il gère.
Pour résoudre ce problème, veuillez modifier cette ligne
.Attachments.Add RepertoryPath & FileNameà
.Attachments.Add RepertoryPath & FileName & ".xlsx"Si le problème persiste, il se peut qu'il y ait une erreur dans le chemin du fichier ou le nom du fichier. Assurez-vous que les variables RepertoryPath et FileName contiennent les valeurs correctes.
Bonjour Abderrahmane BENALI,
En effet, ca fonctionne, merci beaucoup.