Joindre la feuille active à un envoi par mail

oveg63

XLDnaute Nouveau
Bonjour,

Avant tout j'ai bien fouillé partout avant de poser ma question.

En son temps j'avais déjà mis un bon moment pour trouver la "macro qui va bien" pour envoyer un mail par le biais d'excel.
Une seule, que j'ai trouver je ne sais plus où, fonctionnait.

Je souhaiterait à présent que la feuille excel soit également envoyée en PJ mais je n'y arrive pas.
Si une bonne âme pouvait m'aider.

Merci

Sub CommandButton1_Click()
Dim outlook, message As Object
Dim nom As String
nom = "file:" & ActiveWorkbook.FullName & ""
Set outlook = CreateObject("outlook.application")
Set message = outlook.createitem(0)
Select Case ActiveSheet.Range("D5")
Case "d'absence", "d'absence à RS", "de dépassement d'horaire", "de récupération anticipée"
message.to = "xxx@xxx.fr"

End Select

With ActiveSheet
message.Subject = "Demande " & " " & .Range("D5").Value _
& " " & .Range("C1").Value & " " & .Name
message.body = .Range("A4").Value & " " & .Range("C4").Value & " du " & .Range("G4").Value _
& Chr(10) & nom

End With

On Error GoTo fin
message.send

fin:
ActiveWorkbook.Save

End Sub
 

Pièces jointes

  • essai.xls
    90.5 KB · Affichages: 45
  • essai.xls
    90.5 KB · Affichages: 44
  • essai.xls
    90.5 KB · Affichages: 48

Roland_M

XLDnaute Barbatruc
Re : Joindre la feuille active à un envoi par mail

bonjour,

je n'ai pas Outlook mais voir dans ton classeur le module 1 !
il ne reste que des variables perso à initialiser !
mais le code qui suit l'initialisation des variables est prêt tel qu'il est !

puis faire un essai avec ta propre adresse !?

dans Module1:
Code:
'-- init ici seulement les variables nécessaire ---
'on a compris que ce serait la feuille active !?
'ou il faut précisier dans une cellule le nom de la feuille !?
'que l'on tirera ici !? --------------------------------------
Sub CommandButton1_Click()

NomDuClasseur$ = "azerty_123456_temp.xls" 'nom fich.temp qui sera effacé après !

NomDeLaFeuille$ = "Feuil1" '<<<<<<<<<<<<<< ici nom de ta feuille à envoyer ?
Select Case Range("D5")
 Case "d'absence", "d'absence à RS", "de dépassement d'horaire", "de récupération anticipée"
      AdresMailDestin$ = "xxx@xxx.fr" '<<< ici adresse   destinataire  ?
End Select
AdresMailCC$ = ""  ' <<<<<<<<<<<<<<<<<<<<< ici adresses  CC s'il y a  !?
AdresMailBCC$ = "" ' <<<<<<<<<<<<<<<<<<<<< ici adresses BCC s'il y a  !?
Sujet$ = "Demande " & Range("D5") & " " & Range("C1") & " " & ActiveSheet.Name
message$ = Range("A4") & " " & Range("C4") & " du " & Range("G4")

'-------------------------------------------------------------------------------

                                                                       .
' ci-dessous  suite pour envoi normalement il n'y a rien à modifier !                     .
'...

EDIT:

j'oublié pour l'envoi du message, si ok, mettre .Send actuellement c'est .Display !
.Send '<<< Pour envoyer directement
.Display '<< Pour voir le mail avant envoi
 

Pièces jointes

  • joindre-la-feuille-active-un-envoi-par-mail-essai.xls
    95 KB · Affichages: 51
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
314 626
Messages
2 111 299
Membres
111 094
dernier inscrit
MFrequence