Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

mail avec fichierS joint

6 réponses
Avatar
pascal
Bonjour,

Je voudrais envoyer un mail à X personnes, avec plusieurs fichiers joints,
sans avoir à les ouvrir et en une fois.
Càd dans X cellules = @mail
Dans Y cellules = chemin des fichiers à envoyer

Merci d'avance pour vos solutions..

Pascal

6 réponses

Avatar
RGI
Bonjour

trouveras tu ci-dessous une solution qui te convient :

Sub MailAvecOE()
Dim Dest As String
Dim Sujt As String
Dim Msg As String
Dest = ""
Sujt = "Test d'envoi avec Excel"
Msg = "Bonjour, Excel vous envoie un message avec OE"
Shell "C:Program FilesOutlook Expressmsimn.exe " & _
"/mailurl:mailto:" & Dest & "?subject=" & Sujt & "&Body=" & Msg & ""
End Sub
'Envoyer un message avec un classeur en fichier joint(testé avec Excel 2003)

Sub MailAvecOEClasseur()
Dim Dest, Sujt, Msg As String
Dim TheFile
TheFile = "C:Documents and SettingsROINEL GilbertMes
documentsPersolancement_essai.pdf"
Dest = ""
Sujt = "Test d'envoi avec Excel"
Msg = "Bonjour, Excel vous envoie un message et un fichier PDF avec
Outlook Express"
Shell "C:Program FilesOutlook Expressmsimn.exe " & _
"/mailurl:mailto:" & Dest & "?subject=" & Sujt & "&Body=" & Msg & ""
'SendKeys "%IP" & "C:Documents and SettingsROINEL GilbertMes
documentsPersolancement_essai.pdf" & "~" & "%s"
SendKeys "%IP" & Chr$(34) & TheFile & Chr$(34) & "~" & "%s"
End Sub
'Signification des caractères après "SendKeys":
'* %I et P = Insertion de la pièce jointe dans Outlook Express. (%=Alt)
'* ~ = Validation. (~=Entrée)
'* %S = Envoyer.
'Comment envoyer une feuille dans un message en VBA?(testé avec Excel 2003)

Sub MailFeuilleOE()
Dim Dest, Sujt, Msg As String
Dim RepName
ActiveSheet.Copy
ActiveWorkbook.SaveAs Filename:="C:temptest.xls"
'test.xls ""
RepName = "C:temptest.xls"
Dest = ""
Sujt = "Test d'envoi d'une feuille avec Excel"
Msg = "Bonjour, Excel vous envoie une feuille avec OE"
Shell "C:Program FilesOutlook Expressmsimn.exe " & _
"/mailurl:mailto:" & Dest & "?subject=" & Sujt & "&Body=" & Msg & ""
SendKeys "%I" & "p" & RepName & "~" & "%s"
ActiveWorkbook.Close
End Sub
'Comment envoyer une plage de cellules dans un message en VBA?(testé
avec Excel 2003)

'Cette macro envoie la plage A1:A10, vous pouvez évidement modifier
cette ligne Range("A1:A10").Copy
'pour envoyer une autre plage de cellules.
Sub EnvoiSelectionparMail()
Dim Dest, Sujt, Msg As String
Dim TheFile
Range("A1:A17").Copy
Workbooks.Add
ActiveSheet.Paste
ActiveWorkbook.SaveAs Filename:="C:temptest.xls"
test.xls ""
TheFile = "C:temptest.xls"
Dest = ""
Sujt = "Test d'envoi avec Excel"
Msg = "Bonjour, Excel vous envoie une plage de cellules avec OE"
Shell "C:Program FilesOutlook Expressmsimn.exe " & _
"/mailurl:mailto:" & Dest & "?subject=" & Sujt & "&Body=" & Msg & ""
SendKeys "%I" & "p" & TheFile & "~" & "%s"
ActiveWorkbook.Close
End Sub
'Un message à plusieurs destinataires ( Excel 2003)

'La liste des destinaires est dans la plage A1:A10
Sub MailingListe()
Dim Dest As String
Dim Sujt As String
Dim Msg As String
For Each Lescellules In Range("A1:A10")
Dest = Lescellules.Value
Sujt = "Test d'envoi avec Excel"
Msg = "Bonjour, Excel vous envoie un message avec OE" _
& vbNewLine & "moi"
Shell "C:Program FilesOutlook Expressmsimn.exe " & _
"/mailurl:mailto:" & Dest & "?subject=" & Sujt & "&Body=" & Msg & ""
SendKeys "%s"
Next
End Sub



salutations

RGI


Bonjour,

Je voudrais envoyer un mail à X personnes, avec plusieurs fichiers joints,
sans avoir à les ouvrir et en une fois.
Càd dans X cellules = @mail
Dans Y cellules = chemin des fichiers à envoyer

Merci d'avance pour vos solutions..

Pascal


Avatar
JB
Bonjour,

Envoi par OutLook de PJ:

http://cjoint.com/?gbrtlq4ysk

Dans Outils/Références cocher OutLook
Sub envoi_Feuille()
ChDir ActiveWorkbook.Path
répertoireAppli = ActiveWorkbook.Path ' Penser à
Outils/Références Outlook
'--- Envoi par mail
Dim olapp As Outlook.Application
Sheets("destinataires").Select
[A11].Select
Do While Not IsEmpty(ActiveCell)
Dim msg As MailItem
Set olapp = New Outlook.Application
Set msg = olapp.CreateItem(olMailItem)
msg.To = ActiveCell.Value
msg.Subject = [A2]
msg.Body = [A5] & Chr(13) & Chr(13) & [A8].Value & Chr(13) &
Chr(13)
'-- pj
For Each c In Range([C8], [C65000].End(xlUp))
nf = ActiveWorkbook.Path & "" & c.Value
msg.Attachments.Add Source:=nf
Next c
msg.Send
ActiveCell.Offset(1, 0).Select
Loop
End Sub

Cordialement JB


Bonjour,

Je voudrais envoyer un mail à X personnes, avec plusieurs fichiers join ts,
sans avoir à les ouvrir et en une fois.
Càd dans X cellules = @mail
Dans Y cellules = chemin des fichiers à envoyer

Merci d'avance pour vos solutions..

Pascal


Avatar
Daniel.j
Je connais tres bien tout ce code :
http://dj.joss.free.fr/web.htm
Daniel

FAQ MPFE
http://dj.joss.free.fr/faq.htm



"RGI" a écrit dans le message de news:

Bonjour

trouveras tu ci-dessous une solution qui te convient :

Sub MailAvecOE()
Dim Dest As String
Dim Sujt As String
Dim Msg As String
Dest = ""
Sujt = "Test d'envoi avec Excel"
Msg = "Bonjour, Excel vous envoie un message avec OE"
Shell "C:Program FilesOutlook Expressmsimn.exe " & _
"/mailurl:mailto:" & Dest & "?subject=" & Sujt & "&Body=" & Msg & ""
End Sub
'Envoyer un message avec un classeur en fichier joint(testé avec Excel
2003)

Sub MailAvecOEClasseur()
Dim Dest, Sujt, Msg As String
Dim TheFile
TheFile = "C:Documents and SettingsROINEL GilbertMes
documentsPersolancement_essai.pdf"
Dest = ""
Sujt = "Test d'envoi avec Excel"
Msg = "Bonjour, Excel vous envoie un message et un fichier PDF avec
Outlook Express"
Shell "C:Program FilesOutlook Expressmsimn.exe " & _
"/mailurl:mailto:" & Dest & "?subject=" & Sujt & "&Body=" & Msg & ""
'SendKeys "%IP" & "C:Documents and SettingsROINEL GilbertMes
documentsPersolancement_essai.pdf" & "~" & "%s"
SendKeys "%IP" & Chr$(34) & TheFile & Chr$(34) & "~" & "%s"
End Sub
'Signification des caractères après "SendKeys":
'* %I et P = Insertion de la pièce jointe dans Outlook Express. (%=Alt)
'* ~ = Validation. (~=Entrée)
'* %S = Envoyer.
'Comment envoyer une feuille dans un message en VBA?(testé avec Excel
2003)

Sub MailFeuilleOE()
Dim Dest, Sujt, Msg As String
Dim RepName
ActiveSheet.Copy
ActiveWorkbook.SaveAs Filename:="C:temptest.xls"
'test.xls ""
RepName = "C:temptest.xls"
Dest = ""
Sujt = "Test d'envoi d'une feuille avec Excel"
Msg = "Bonjour, Excel vous envoie une feuille avec OE"
Shell "C:Program FilesOutlook Expressmsimn.exe " & _
"/mailurl:mailto:" & Dest & "?subject=" & Sujt & "&Body=" & Msg & ""
SendKeys "%I" & "p" & RepName & "~" & "%s"
ActiveWorkbook.Close
End Sub
'Comment envoyer une plage de cellules dans un message en VBA?(testé avec
Excel 2003)

'Cette macro envoie la plage A1:A10, vous pouvez évidement modifier cette
ligne Range("A1:A10").Copy
'pour envoyer une autre plage de cellules.
Sub EnvoiSelectionparMail()
Dim Dest, Sujt, Msg As String
Dim TheFile
Range("A1:A17").Copy
Workbooks.Add
ActiveSheet.Paste
ActiveWorkbook.SaveAs Filename:="C:temptest.xls"
test.xls ""
TheFile = "C:temptest.xls"
Dest = ""
Sujt = "Test d'envoi avec Excel"
Msg = "Bonjour, Excel vous envoie une plage de cellules avec OE"
Shell "C:Program FilesOutlook Expressmsimn.exe " & _
"/mailurl:mailto:" & Dest & "?subject=" & Sujt & "&Body=" & Msg & ""
SendKeys "%I" & "p" & TheFile & "~" & "%s"
ActiveWorkbook.Close
End Sub
'Un message à plusieurs destinataires ( Excel 2003)

'La liste des destinaires est dans la plage A1:A10
Sub MailingListe()
Dim Dest As String
Dim Sujt As String
Dim Msg As String
For Each Lescellules In Range("A1:A10")
Dest = Lescellules.Value
Sujt = "Test d'envoi avec Excel"
Msg = "Bonjour, Excel vous envoie un message avec OE" _
& vbNewLine & "moi"
Shell "C:Program FilesOutlook Expressmsimn.exe " & _
"/mailurl:mailto:" & Dest & "?subject=" & Sujt & "&Body=" & Msg & ""
SendKeys "%s"
Next
End Sub



salutations

RGI


Bonjour,

Je voudrais envoyer un mail à X personnes, avec plusieurs fichiers
joints, sans avoir à les ouvrir et en une fois.
Càd dans X cellules = @mail
Dans Y cellules = chemin des fichiers à envoyer

Merci d'avance pour vos solutions..

Pascal




Avatar
RGI
merci Daniel.J

Je connais tres bien tout ce code :
http://dj.joss.free.fr/web.htm
Daniel

FAQ MPFE
http://dj.joss.free.fr/faq.htm



"RGI" a écrit dans le message de news:

Bonjour

trouveras tu ci-dessous une solution qui te convient :

Sub MailAvecOE()
Dim Dest As String
Dim Sujt As String
Dim Msg As String
Dest = ""
Sujt = "Test d'envoi avec Excel"
Msg = "Bonjour, Excel vous envoie un message avec OE"
Shell "C:Program FilesOutlook Expressmsimn.exe " & _
"/mailurl:mailto:" & Dest & "?subject=" & Sujt & "&Body=" & Msg & ""
End Sub
'Envoyer un message avec un classeur en fichier joint(testé avec Excel
2003)

Sub MailAvecOEClasseur()
Dim Dest, Sujt, Msg As String
Dim TheFile
TheFile = "C:Documents and SettingsROINEL GilbertMes
documentsPersolancement_essai.pdf"
Dest = ""
Sujt = "Test d'envoi avec Excel"
Msg = "Bonjour, Excel vous envoie un message et un fichier PDF avec
Outlook Express"
Shell "C:Program FilesOutlook Expressmsimn.exe " & _
"/mailurl:mailto:" & Dest & "?subject=" & Sujt & "&Body=" & Msg & ""
'SendKeys "%IP" & "C:Documents and SettingsROINEL GilbertMes
documentsPersolancement_essai.pdf" & "~" & "%s"
SendKeys "%IP" & Chr$(34) & TheFile & Chr$(34) & "~" & "%s"
End Sub
'Signification des caractères après "SendKeys":
'* %I et P = Insertion de la pièce jointe dans Outlook Express. (%=Alt)
'* ~ = Validation. (~=Entrée)
'* %S = Envoyer.
'Comment envoyer une feuille dans un message en VBA?(testé avec Excel
2003)

Sub MailFeuilleOE()
Dim Dest, Sujt, Msg As String
Dim RepName
ActiveSheet.Copy
ActiveWorkbook.SaveAs Filename:="C:temptest.xls"
'test.xls ""
RepName = "C:temptest.xls"
Dest = ""
Sujt = "Test d'envoi d'une feuille avec Excel"
Msg = "Bonjour, Excel vous envoie une feuille avec OE"
Shell "C:Program FilesOutlook Expressmsimn.exe " & _
"/mailurl:mailto:" & Dest & "?subject=" & Sujt & "&Body=" & Msg & ""
SendKeys "%I" & "p" & RepName & "~" & "%s"
ActiveWorkbook.Close
End Sub
'Comment envoyer une plage de cellules dans un message en VBA?(testé avec
Excel 2003)

'Cette macro envoie la plage A1:A10, vous pouvez évidement modifier cette
ligne Range("A1:A10").Copy
'pour envoyer une autre plage de cellules.
Sub EnvoiSelectionparMail()
Dim Dest, Sujt, Msg As String
Dim TheFile
Range("A1:A17").Copy
Workbooks.Add
ActiveSheet.Paste
ActiveWorkbook.SaveAs Filename:="C:temptest.xls"
test.xls ""
TheFile = "C:temptest.xls"
Dest = ""
Sujt = "Test d'envoi avec Excel"
Msg = "Bonjour, Excel vous envoie une plage de cellules avec OE"
Shell "C:Program FilesOutlook Expressmsimn.exe " & _
"/mailurl:mailto:" & Dest & "?subject=" & Sujt & "&Body=" & Msg & ""
SendKeys "%I" & "p" & TheFile & "~" & "%s"
ActiveWorkbook.Close
End Sub
'Un message à plusieurs destinataires ( Excel 2003)

'La liste des destinaires est dans la plage A1:A10
Sub MailingListe()
Dim Dest As String
Dim Sujt As String
Dim Msg As String
For Each Lescellules In Range("A1:A10")
Dest = Lescellules.Value
Sujt = "Test d'envoi avec Excel"
Msg = "Bonjour, Excel vous envoie un message avec OE" _
& vbNewLine & "moi"
Shell "C:Program FilesOutlook Expressmsimn.exe " & _
"/mailurl:mailto:" & Dest & "?subject=" & Sujt & "&Body=" & Msg & ""
SendKeys "%s"
Next
End Sub



salutations

RGI


Bonjour,

Je voudrais envoyer un mail à X personnes, avec plusieurs fichiers
joints, sans avoir à les ouvrir et en une fois.
Càd dans X cellules = @mail
Dans Y cellules = chemin des fichiers à envoyer

Merci d'avance pour vos solutions..

Pascal








Avatar
pascal
Bonjour,
GENIAL !!!!GENIAL !!!!

J'ai juste mis en ColC le chemin EXACT des fichiers à transmettre
nf = c.Value

Merci beaucoup
Pascal


Bonjour,

Envoi par OutLook de PJ:

http://cjoint.com/?gbrtlq4ysk

Dans Outils/Références cocher OutLook
Sub envoi_Feuille()
ChDir ActiveWorkbook.Path
répertoireAppli = ActiveWorkbook.Path ' Penser à
Outils/Références Outlook
'--- Envoi par mail
Dim olapp As Outlook.Application
Sheets("destinataires").Select
[A11].Select
Do While Not IsEmpty(ActiveCell)
Dim msg As MailItem
Set olapp = New Outlook.Application
Set msg = olapp.CreateItem(olMailItem)
msg.To = ActiveCell.Value
msg.Subject = [A2]
msg.Body = [A5] & Chr(13) & Chr(13) & [A8].Value & Chr(13) &
Chr(13)
'-- pj
For Each c In Range([C8], [C65000].End(xlUp))
nf = ActiveWorkbook.Path & "" & c.Value
msg.Attachments.Add Source:=nf
Next c
msg.Send
ActiveCell.Offset(1, 0).Select
Loop
End Sub

Cordialement JB


Bonjour,

Je voudrais envoyer un mail à X personnes, avec plusieurs fichiers joints,
sans avoir à les ouvrir et en une fois.
Càd dans X cellules = @mail
Dans Y cellules = chemin des fichiers à envoyer

Merci d'avance pour vos solutions..

Pascal






Avatar
pascal
Bonjour,
Hélas cela ne fonctionne pas avec Outlook2000, j'avais oublié de le noter.
J'avais effectivement trouvé ces macros, mais je n'ai pas réussi à les
adapter avec Outlook2000.

Merci quand même.
Pascal


merci Daniel.J

Je connais tres bien tout ce code :
http://dj.joss.free.fr/web.htm
Daniel

FAQ MPFE
http://dj.joss.free.fr/faq.htm



"RGI" a écrit dans le message de news:

Bonjour

trouveras tu ci-dessous une solution qui te convient :

Sub MailAvecOE()
Dim Dest As String
Dim Sujt As String
Dim Msg As String
Dest = ""
Sujt = "Test d'envoi avec Excel"
Msg = "Bonjour, Excel vous envoie un message avec OE"
Shell "C:Program FilesOutlook Expressmsimn.exe " & _
"/mailurl:mailto:" & Dest & "?subject=" & Sujt & "&Body=" & Msg & ""
End Sub
'Envoyer un message avec un classeur en fichier joint(testé avec Excel
2003)

Sub MailAvecOEClasseur()
Dim Dest, Sujt, Msg As String
Dim TheFile
TheFile = "C:Documents and SettingsROINEL GilbertMes
documentsPersolancement_essai.pdf"
Dest = ""
Sujt = "Test d'envoi avec Excel"
Msg = "Bonjour, Excel vous envoie un message et un fichier PDF avec
Outlook Express"
Shell "C:Program FilesOutlook Expressmsimn.exe " & _
"/mailurl:mailto:" & Dest & "?subject=" & Sujt & "&Body=" & Msg & ""
'SendKeys "%IP" & "C:Documents and SettingsROINEL GilbertMes
documentsPersolancement_essai.pdf" & "~" & "%s"
SendKeys "%IP" & Chr$(34) & TheFile & Chr$(34) & "~" & "%s"
End Sub
'Signification des caractères après "SendKeys":
'* %I et P = Insertion de la pièce jointe dans Outlook Express. (%=Alt)
'* ~ = Validation. (~=Entrée)
'* %S = Envoyer.
'Comment envoyer une feuille dans un message en VBA?(testé avec Excel
2003)

Sub MailFeuilleOE()
Dim Dest, Sujt, Msg As String
Dim RepName
ActiveSheet.Copy
ActiveWorkbook.SaveAs Filename:="C:temptest.xls"
'test.xls ""
RepName = "C:temptest.xls"
Dest = ""
Sujt = "Test d'envoi d'une feuille avec Excel"
Msg = "Bonjour, Excel vous envoie une feuille avec OE"
Shell "C:Program FilesOutlook Expressmsimn.exe " & _
"/mailurl:mailto:" & Dest & "?subject=" & Sujt & "&Body=" & Msg & ""
SendKeys "%I" & "p" & RepName & "~" & "%s"
ActiveWorkbook.Close
End Sub
'Comment envoyer une plage de cellules dans un message en VBA?(testé avec
Excel 2003)

'Cette macro envoie la plage A1:A10, vous pouvez évidement modifier cette
ligne Range("A1:A10").Copy
'pour envoyer une autre plage de cellules.
Sub EnvoiSelectionparMail()
Dim Dest, Sujt, Msg As String
Dim TheFile
Range("A1:A17").Copy
Workbooks.Add
ActiveSheet.Paste
ActiveWorkbook.SaveAs Filename:="C:temptest.xls"
test.xls ""
TheFile = "C:temptest.xls"
Dest = ""
Sujt = "Test d'envoi avec Excel"
Msg = "Bonjour, Excel vous envoie une plage de cellules avec OE"
Shell "C:Program FilesOutlook Expressmsimn.exe " & _
"/mailurl:mailto:" & Dest & "?subject=" & Sujt & "&Body=" & Msg & ""
SendKeys "%I" & "p" & TheFile & "~" & "%s"
ActiveWorkbook.Close
End Sub
'Un message à plusieurs destinataires ( Excel 2003)

'La liste des destinaires est dans la plage A1:A10
Sub MailingListe()
Dim Dest As String
Dim Sujt As String
Dim Msg As String
For Each Lescellules In Range("A1:A10")
Dest = Lescellules.Value
Sujt = "Test d'envoi avec Excel"
Msg = "Bonjour, Excel vous envoie un message avec OE" _
& vbNewLine & "moi"
Shell "C:Program FilesOutlook Expressmsimn.exe " & _
"/mailurl:mailto:" & Dest & "?subject=" & Sujt & "&Body=" & Msg & ""
SendKeys "%s"
Next
End Sub



salutations

RGI


Bonjour,

Je voudrais envoyer un mail à X personnes, avec plusieurs fichiers
joints, sans avoir à les ouvrir et en une fois.
Càd dans X cellules = @mail
Dans Y cellules = chemin des fichiers à envoyer

Merci d'avance pour vos solutions..

Pascal