Envoie fichier macro
Bonjour le forum,
j'ai une question vraiment urgente et je ne trouve pas solution.
Il est possible d'affecter un fichier excel à une cellule et de l'envoyer par mail grace à une macro?
Ex: fichierABC.xls est dans la cellule C --->comment faire
Envoyer contenu cellule C (FichierABC.xls) par mail grace à une macro que j'ai déja.
Je vous remercie
Bonjour,
Ne voyant pas ta macro la réponse ne sera surement pas appropriée mais voici comment je procède.
Dans ma macro j'ai une ligne .Attachments.Add à laquelle j'indique le chemin du fichier que je souhaite envoyer.
Si ton fichier est en C1, il faut soit que tu renseignes le chemin ("C:\Users\Desktop\" par exemple) dans ta cellule soit dans ta macro :
.Attachments.Add "C:\Users\Desktop\" & Range("C1") 'Si ta cellule ne contient que "FichierABC.xls"
.Attachments.Add Range("C1") 'Si ta cellule contient "C:\Users\Desktop\FichierABC.xls"
A plus !
HELLO,
Merci pour ta réponse.
Le fichier à placer sur une cellule varie selon le nom situé sur la colonne B
Exemple si Paul ----> fichierabc.xls
david---> Fichierwxy.xls
voici ma macro
Sub envoi()
Dim OutApp As Object
Dim OutMail As Object
derl = Range("B" & Rows.Count).End(xlUp).Row
For i = 2 To derl
If ThisWorkbook.Sheets("Reporting").Range("M" & i).Value = Oui Then
'_And (ThisWorkbook.Sheets("Reporting").Range("N" & i) = 0) Then
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
On Error Resume Next
With OutMail
.To = ThisWorkbook.Sheets("Reporting").Range("Q" & i).Value
'.CC = ThisWorkbook.Sheets("Reporting").Range("X3").Value
'.BCC = ""
'objet du mail
.Subject = "Accord remboursement Indemnités "
.Body = "Bonjour," & ThisWorkbook.Sheets("Reporting").Range("B" & i).Value & Chr(13) & _
"Nous avons le plaisir de vous informer à propos de votre demande d'indemnités" & Chr(13) & _
"concernant le mois de " & ThisWorkbook.Sheets("Reporting").Range("C" & i).Value _
& " " & ThisWorkbook.Sheets("Reporting").Range("D" & i).Value & Chr(13) & _
"Montant accordé : " & ThisWorkbook.Sheets("Reporting").Range("F" & i).Value & Chr(13) & _
"Numéro Commande de service : " & ThisWorkbook.Sheets("Reporting").Range("J" & i).Value &
.Display
End With
Range("M" & i).Value = "Oui"
Range("N" & i).Value = Now
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
End If
Next i
End Sub
Bonjour,
si tes fichiers ne sont pas tous dans le même dossier alors il faut que tu renseignes les chemins soit dans une nouvelle colonne soit dans les cellules qui contiennent le nom des fichiers.
Dans ta macro :
Sub envoi()
Dim OutApp As Object
Dim OutMail As Object
derl = Range("B" & Rows.Count).End(xlUp).Row
For i = 2 To derl
If ThisWorkbook.Sheets("Reporting").Range("M" & i).Value = Oui Then
'_And (ThisWorkbook.Sheets("Reporting").Range("N" & i) = 0) Then
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
On Error Resume Next
With OutMail
.To = ThisWorkbook.Sheets("Reporting").Range("Q" & i).Value
'.CC = ThisWorkbook.Sheets("Reporting").Range("X3").Value
'.BCC = ""
'objet du mail
.Subject = "Accord remboursement Indemnités "
.Body = "Bonjour," & ThisWorkbook.Sheets("Reporting").Range("B" & i).Value & Chr(13) & _
"Nous avons le plaisir de vous informer à propos de votre demande d'indemnités" & Chr(13) & _
"concernant le mois de " & ThisWorkbook.Sheets("Reporting").Range("C" & i).Value _
& " " & ThisWorkbook.Sheets("Reporting").Range("D" & i).Value & Chr(13) & _
"Montant accordé : " & ThisWorkbook.Sheets("Reporting").Range("F" & i).Value & Chr(13) & _
"Numéro Commande de service : " & ThisWorkbook.Sheets("Reporting").Range("J" & i).Value &
'.Attachments.Add Range("B" & i) & Range("C" & i) 'Si ta cellule en B contient le chemin et la cellule en C contient le fichier
'.Attachments.Add Range("C" & i) 'Si ta cellule contient le chemin et le fichier ex : "C:\Users\Desktop\FichierABC.xls"
.Display
End With
Range("M" & i).Value = "Oui"
Range("N" & i).Value = Now
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
End If
Next i
End Sub
A plus !