envoie classeur en piece jointe avec outlook 2010

julie999

XLDnaute Occasionnel
bonjour
je cherche un code pour envoyer un email avec un classeur en piece jointe

j'utilise ce code qui fonctionne mais qui m'envoie certaine feuille du classeur actif

en fait je travaille sur classeur my photobox
et je veux envoyer le classeur nommé:consolidation des Uk Sartouville+Arvato
emplacement:C:\Documents and Settings\Administrateur\Bureau
pour le corps du message,le sujet etc.....idem que dans mon code

voici mon code actuelle

Dim rep As Integer

rep = MsgBox("Voulez-vous envoyer l'email ?", vbYesNo + vbQuestion, "Envoie Email Photobox")
If rep = vbYes Then

répertoireAppli = "C:\Archives photobox\Dossier tempo pour email"
Sheets(Array("Réception", "Cross Docking", "Way Bill Arvato")).Copy
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs répertoireAppli & "\Cross Docking &Way Bill PHOTOBOX du " & Format(Worksheets("Cross Docking").Range("a4"), "d\-mm\-yyyy") & ".xls"
ActiveWindow.Close
'--- Envoi par mail
Dim olapp As Object 'Outlook.Application
Sheets("Envoie Email").Select
Range("B18").Select

Set olapp = CreateObject("Outlook.Application")
Do While Not IsEmpty(ActiveCell)
Dim msg As Object 'MailItem
Set msg = olapp.CreateItem(0)
msg.To = ActiveCell.Value

msg.Subject = Range("B5").Value
msg.CC = Range("b25").Value
msg.Body = Range("B8").Value & Chr(13) & Chr(13) & Range("B9").Value & Chr(13) & Chr(13) & Range("B10").Value & Chr(13) & Chr(13) & Range("B11").Value & Chr(13) & Chr(13) & Range("B12").Value & Chr(13) & Chr(13) & Range("B15").Value & Chr(13) & Chr(13)
msg.Attachments.Add répertoireAppli & "\Cross Docking &Way Bill PHOTOBOX du " & _
Format(Worksheets("Réception").Range("w2"), "d\-mm\-yyyy") & ".xls"
msg.Send
ActiveCell.Offset(1, 0).Select
Loop
Set msg = Nothing
Set olapp = Nothing



MsgBox "Le Cross Docking a été envoyé par email avec succés ...."

Else

End If
End Sub

Julie
joyeux noël a tous le forum
 
C

Compte Supprimé 979

Guest
Re : envoie classeur en piece jointe avec outlook 2010

Bonsoir Julie999

VB:
  Dim Rep As Integer  Rep = MsgBox("Voulez-vous envoyer l'email ?", vbYesNo + vbQuestion, "Envoie Email Photobox")
  If Rep = vbYes Then
    
    répertoireAppli = "C:\Archives photobox\Dossier tempo pour email"
    ' Faire une copie de certaines feuilles dans un nouveau classeur
    'Sheets(Array("Réception", "Cross Docking", "Way Bill Arvato")).Copy
    ' Faire une copie de toutes les feuilles
    Sheets.Copy
    '
    Application.DisplayAlerts = False
    ' Sauvegarder le nouveau classeur sous un nom spécifique
    ' et le fermer
    With ActiveWorkbook
      .SaveAs répertoireAppli & "\Cross Docking &Way Bill PHOTOBOX du " & Format(Worksheets("Cross Docking").Range("a4"), "d\-mm\-yyyy") & ".xls"
      .Close
    End With
    '--- Envoi par mail
    Dim olapp As Object  'Outlook.Application
    Sheets("Envoie Email").Select
    Range("B18").Select


    Set olapp = CreateObject("Outlook.Application")
    Do While Not IsEmpty(ActiveCell)
      Dim msg As Object  'MailItem
      Set msg = olapp.CreateItem(0)
      msg.To = ActiveCell.Value


      msg.Subject = Range("B5").Value
      msg.CC = Range("b25").Value
      msg.Body = Range("B8").Value & Chr(13) & Chr(13) & Range("B9").Value & Chr(13) & Chr(13) & Range("B10").Value & Chr(13) & Chr(13) & Range("B11").Value & Chr(13) & Chr(13) & Range("B12").Value & Chr(13) & Chr(13) & Range("B15").Value & Chr(13) & Chr(13)
      msg.Attachments.Add répertoireAppli & "\Cross Docking &Way Bill PHOTOBOX du " & _
                          Format(Worksheets("Réception").Range("w2"), "d\-mm\-yyyy") & ".xls"
      msg.Send
      ActiveCell.Offset(1, 0).Select
    Loop
    Set msg = Nothing
    Set olapp = Nothing
    MsgBox "Le Cross Docking a été envoyé par email avec succés ...."
  Else
    ' Rien
  End If

A+
 

julie999

XLDnaute Occasionnel
Re : envoie classeur en piece jointe avec outlook 2010

Bonsoir bruno,le fil

le code que j'utilisé c'etait pour envoyer certeinne feuille active du classeur
la ma demande est differente

en fait je travaille sur classeur my photobox(classeur actif)

et je veux envoyer le classeur qui comme nom:consolidation des Uk Sartouville+Arvato

emplacement du classeur a envoyé :C:\Documents and Settings\Administrateur\Bureau
pour le corps du message,le sujet etc.....idem que dans mon code
ce classeur est fermé
Julie
si je comprend ton code il envoie encore les même feuille et non le classeur consolidation des Uk Sartouville+Arvato
 
C

Compte Supprimé 979

Guest
Re : envoie classeur en piece jointe avec outlook 2010

re,

Désolé, je n'avais pas compris, voici un exemple de code
VB:
Sub Test()
  Dim Rep As Integer
  Dim sNomFic As String, sPath As String


  Rep = MsgBox("Voulez-vous envoyer l'email ?", vbYesNo + vbQuestion, "Envoie Email Photobox")
  If Rep = vbYes Then
    sNomFic = "consolidation des Uk Sartouville+Arvato.xlsx"
    sPath = "C:\Documents and Settings\Administrateur\Bureau\"
    '--- Envoi par mail
    Dim olapp As Object  'Outlook.Application
    Set olapp = CreateObject("Outlook.Application")
    Do While Not IsEmpty(ActiveCell)
      Dim msg As Object  'MailItem
      Set msg = olapp.CreateItem(0)
      msg.To = ActiveCell.Value
      msg.Subject = Range("B5").Value
      msg.CC = Range("b25").Value
      msg.Body = Range("B8").Value & Chr(13) & Chr(13) & Range("B9").Value & Chr(13) & Chr(13) & Range("B10").Value & Chr(13) & Chr(13) & Range("B11").Value & Chr(13) & Chr(13) & Range("B12").Value & Chr(13) & Chr(13) & Range("B15").Value & Chr(13) & Chr(13)
      msg.Attachments.Add sPath & sNomFic
      msg.Send
      ActiveCell.Offset(1, 0).Select
    Loop
    Set msg = Nothing
    Set olapp = Nothing
  End If
End Sub

A+
 

julie999

XLDnaute Occasionnel
Re : envoie classeur en piece jointe avec outlook 2010

re bruno le fil
le code bloque sur
msg.Attachments.Add sPath & sNomFic
pourtant je fais propriete sur le fichier pour le non excacte et l'emplacement




mon code adapté:
Sub Test()
Dim Rep As Integer
Dim sNomFic As String, sPath As String


Rep = MsgBox("Voulez-vous envoyer l'email ?", vbYesNo + vbQuestion, "Envoie Email Photobox")
If Rep = vbYes Then
sNomFic = "Uk orders direct injection_tracker.xlsm"
sPath = "C:\Users\David\Desktop\Uk orders direct injection_tracker.xlsm\"
'--- Envoi par mail
Dim olapp As Object 'Outlook.Application
Set olapp = CreateObject("Outlook.Application")
Do While Not IsEmpty(ActiveCell)
Dim msg As Object 'MailItem
Set msg = olapp.CreateItem(0)
msg.To = ActiveCell.Value
msg.Subject = Range("B5").Value
msg.CC = Range("b25").Value
msg.Body = Range("B8").Value & Chr(13) & Chr(13) & Range("B9").Value & Chr(13) & Chr(13) & Range("B10").Value & Chr(13) & Chr(13) & Range("B11").Value & Chr(13) & Chr(13) & Range("B12").Value & Chr(13) & Chr(13) & Range("B15").Value & Chr(13) & Chr(13)
msg.Attachments.Add sPath & sNomFic
msg.Send
ActiveCell.Offset(1, 0).Select
Loop
Set msg = Nothing
Set olapp = Nothing
End If
MsgBox "le tableau Uk orders direct injection_tracker a été envoyé par email avec succés ...."
End Sub

une autre solution ??

Julie
 
C

Compte Supprimé 979

Guest
Re : envoie classeur en piece jointe avec outlook 2010

Re,

Problème dans la variable sPath
Ce n'est pas
Code:
sPath = "C:\Users\David\Desktop\Uk orders direct injection_tracker.xlsm\"
mais
Code:
sPath = "C:\Users\David\Desktop\"


sPath = chemin d'accès sans le nom du fichier

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 196
Messages
2 086 101
Membres
103 117
dernier inscrit
augustin.morille