envoi mail

ngexcel

XLDnaute Occasionnel
bonjour

j ai trouvé sur le site un exemple que je cherche a adapter

je veux enregistrer la feuille au format pdf ça c'est OK
je veux envoyer le PDF par mail et la j ai un message

objMessage.AddAttachment (piece_jointe) 'On ajoute la piéce jointe, il est possible d'envoyer plusieurs pièces

de plus je ne vois pas ou mettre l adresse mail du destinataire?

help

merci bon week end
 

ngexcel

XLDnaute Occasionnel
Re : envoi mail

Bonjour
Quelqu un peux me donner un coup de main
Je comprend pas ma macro3
J ai un message d erreur je sauvegarde bien en pdf la feuille mais je n arrive pas a envoyer le pdf a un destinataire
J ai bien lu les exemples que je trouve mais je sais pas les adapter
SOS
 

Staple1600

XLDnaute Barbatruc
Re : envoi mail

Bonjour à tous

ngexcel
L'envie de t'aider viendra (en tout cas en ce qui me concerne ;) ) quand tu fourniras un code VBA un plus cohérent et nettoyé...:rolleyes:
Exemples de choses qui me chiffonnent (cf les commentaires en vert)
VB:
Workbooks.Open Filename:="C:\test fitt\SuiviFitt.xlsm" '
 'Ici sur nos PC ce dossier et ce fichier sont inexistants!
    Range("J6").Select
'donc on a pas à disposition cette macro!
    Application.Run "SuiviFitt.xlsm!Feuil2.oterdoublons"
    ActiveWorkbook.Save
    ActiveWindow.Close
    If MsgBox("Êtes vous sur de vouloir envoyer le bon de préparation par email au format PDF  ?", vbQuestion + vbYesNo, "ENVOYER LE BON DE PREPARATION ...") = vbYes Then
   'ici les doubles parenthèses ??
  ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        ActiveWorkbook.Path & "\" & "FITT VIERGE " & " " & (Range("a1")) & ".pdf" _
        , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
        :=False, OpenAfterPublish:=False
 piece_jointe = ActiveWorkbook.Path & "\" & "FITT VIERGE " & " " & (Range("a1")) & ".pdf" ' bon de préparation en pdf
'objMessage fait référence à un objet Outlook sauf qu'il manque un bout de code et les déclarations de variables
objMessage.AddAttachment (piece_jointe) 
 On Error Resume Next
    Err = 0
'ici tu n'utilises plus Outlook, alors quid de objMessage !
    ActiveWorkbook.FollowHyperlink Address:="mailto:" & _
    "?subject= Bon de préparation pour le chantier" & "  " & (Range("a1")) & _
    "&body=Bonjour, veuillez trouver en pièce jointe le bon de préparation pour le chantier" & "  " & (Range("a1"))
    If Err <> 0 Then MsgBox "Une Erreur s'est produite..."
End If

Bref, il faut revoir ton code et ne pas mélanger tous les bouts de code que tu trouves sur le net.

A te relire donc avec un fichier exemple plus propre et où tu te cantonneras à un seule méthode d'envoi de mail
  • soit avec Outlook
  • soit avec CDO
  • soit avec FollowHyperlink
mais surtout pas un mix des trois.

Suggestion :
Commences par tester les codes simples par exemple ceux de Ron de Bruin, étapes par étapes
1) envoi un mail simple par excel (tu y arrives ou pas ?)
2) envoi de la feuille active (tu y arrives ou pas ?)
Une fois que tu sauras faire ces deux étapes sans erreur, alors on pourra aller plus loin.
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : envoi mail

Re

OK, va pour le nouveau fichier (je vais l'ouvrir de ce pas)
Mais et ces questions sans réponses ...
Suggestion :
Commences par tester les codes simples par exemple ceux de Ron de Bruin, étapes par étapes
1) envoi un mail simple par excel (tu y arrives ou pas ?)
2) envoi de la feuille active (tu y arrives ou pas ?)
Une fois que tu sauras faire ces deux étapes sans erreur, alors on pourra aller plus loin.

EDITION: Répondre aux questions dans le message plutôt que dans le fichier la prochaine fois ; )

On se sait toujours pas quelle méthode tu as choisie ?
  • Outlook
  • CDO
  • ou autre
 
Dernière édition:

Roland_M

XLDnaute Barbatruc
Re : envoi mail

bonjour à tous,

code exemple avec outlook :
il suffit d'adapter pour le fichier car ici c'était un sauvegarde de feuille !?
je ne peux tester n'ayant pas outlook !

EDIT: salut à vous Staple et DoubleZero !

Code:
Private Sub EnvoiMailOutlookAvecFeuilJointe()
Dim OutApp As Object, OutMail As Object, NewB As Workbook
'---- variables nécessaire -------------
NomDuClasseur$ = "NomDeLaPieceJointe.xls" ' avec son extention
NomDeLaFeuille$ = "Feuil2"
AdresDestinMail$ = "nom@site.fr"
AdresMailCC$ = "nom@site.fr"
AdresMailBCC$ = "nom@site.fr"
Sujet$ = ""
Message$ = ""
'----------------------------------------

' Copie la feuille (ce qui cré un nouveau classeur qui devient actif)
CheminFichier$ = ThisWorkbook.Path & "\" & NomDuClasseur$ 'ajoute le chemin
Sheets(NomDeLaFeuille$).Copy
Set NewB = ActiveWorkbook
ActiveWorkbook.SaveAs CheminFichier$
' ENVOI
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
On Error GoTo ErreurNET
With OutMail
 .To = AdresDestinMail$
 .CC = AdresMailCC$
 .BCC = AdresMailBCC$
 .Subject = Sujet$
 .Body = Message$
 .Attachments.Add NewB.FullName
'.Send '<<<<<<<<<<<< Pour envoyer directement
 .Display '<<<<<<<<< Pour voir le mail avant envoi
End With
' close le classeur et le supprime du disque
ActiveWorkbook.Close
Kill CheminFichier$
' fin
Set OutApp = Nothing: Set OutMail = Nothing: Set NewB = Nothing
On Error GoTo 0: Err.Clear
Exit Sub
ErreurNET: ' sous prog erreur
Msg$ = "Erreur " & Err.Source & "  No " & Err.Number & vbLf & vbLf & Err.Description
T$ = "Envoi Mail: Problème de connexion !?"
MsgBox Msg$, vbCritical, T$, Err.HelpFile, Err.HelpContext
On Error GoTo 0: Err.Clear
End Sub
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : envoi mail

Bonjour à tous, Roland_M

ngexcel
re
j ai outlook
Dans ce cas, pourquoi dans ton code il manquait la partie que l'on voit et chez Ron de Bruin et dans le code soumis par Roland_M :confused:
Je parle de cette partie :
Code:
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
On Error GoTo ErreurNET
With OutMail
 .To = AdresDestinMail$
 .CC = AdresMailCC$
 .BCC = AdresMailBCC$
 .Subject = Sujet$
 .Body = Message$
 .Attachments.Add NewB.FullName
'.Send '<<<<<<<<<<<< Pour envoyer directement
 .Display '<<<<<<<<< Pour voir le mail avant envoi
End With
Pourtant tu nous disais plus bas
Merci des infos j ai déjà regardé les sites
J'ai deja adapté les exemples c est pour cela que j ai besoin d aide
Merci
 

ngexcel

XLDnaute Occasionnel
Re : envoi mail

merci
je vais regarder c'est pas évidant
sachant que moi je sauvegarde ma feuille en pdf dans c:\temp
c’est cette feuille qui doit être envoyée pouvez vous tester mon fichier avec votre code moi
ca ne marche pas

merci de votre patience
 

Staple1600

XLDnaute Barbatruc
Re : envoi mail

Re,

ngexcel
Peux-tu essayer ce code en mettant une adresse mail valide avant de lancer la macro
NB; Test OK avec ton fichier exemple tel quel pour ce qui est de l'export en PDF
Je te laisse tester la partie envoie Mail avec Outlook
(qui sur le PC d'où je poste, Outlook n'est pas mon client de messagerie)
VB:
Sub Macro3()
Dim NomFichier As String, strPath As String
strPath = "C:\Temp\"
With Sheets("Feuil1")
NomFichier = .Range("A3").Text & "- date du_" & Format(.Range("B3"), "ddmmyyyy"".pdf""")
End With
'creation pdf
ActiveSheet.ExportAsFixedFormat _
    Type:=xlTypePDF, Filename:=strPath & NomFichier, Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
'envoi mail avec PDF
With CreateObject("Outlook.Application").CreateItem(0)
.To = "ngexcel@email.com": .Subject = "test envoi PDF"
.Attachments.Add strPath & NomFichier: .Send
End With
End Sub
 
Dernière édition:

ngexcel

XLDnaute Occasionnel
Re : envoi mail

Fin de mon aventure
vraiment super cela fonctionne avec outlook
j ai une fenêtre qui me dit q un fichier tente d accéder à outlook et me demande d accepter
si on peux supprimer la question et envoyer direct

ou si non c'est pas grave ça marche très bien

encore merci
 

Roland_M

XLDnaute Barbatruc
Re : envoi mail

bonsoir,

je joint tout de même ton classeur avec ma macro !à essayer !?

EDIT: j'ai fais une petite correction ! à reprendre !
 

Pièces jointes

  • macro Modif_Roland.xlsm
    22.4 KB · Affichages: 24
  • macro Modif_Roland.xlsm
    22.4 KB · Affichages: 34
  • macro Modif_Roland.xlsm
    22.4 KB · Affichages: 38
Dernière édition:

Discussions similaires

Réponses
2
Affichages
588
Réponses
7
Affichages
538

Statistiques des forums

Discussions
314 634
Messages
2 111 435
Membres
111 136
dernier inscrit
Ahmad Ibnou