macro pour envoi fichier .xls avec microsoft outlook

sf-Thibault

XLDnaute Nouveau
Bonjour,

Je n'arrive pas à m'en sortir avec cette marco.
Je dois envoyer un fichier .xls par courriel avec microsoft outlook 2003, mais dans ma macro ci-dessous, le fichier .xls n'est pas en pièce jointe mais le reste fonctionne.

Sub Descriptif_seul()
'
' Descriptif_seul Macro
' Macro enregistrée le 04/01/2008 par sf
'

'Sélection cellule et attribuer la date du jour:
Range("E6").Select
ActiveCell.FormulaR1C1 = "=TODAY()"
'Copier la valeur et enregistrer le classeur:
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
'ActiveWorkbook.Save
'Sélection de la zone à copier:
Range("A1:L200").Select
Selection.Copy
'Ouverture fichier en lecture seule et collage:
Workbooks.Open Filename:="G:\Devis standards\Descriptif2.xls", ReadOnly:= _
True
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
'Sélection et copie du N° de descriptif:
Range("H8:L9").Select
Selection.Copy
'Attribution du nom de fichier à la cellule N3 et fusion de:
Range("N3").Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
'Récupération du N° de descriptif:
NOPRO = Range("N3")
'Modification du nom du fichier:
DEVISNOPRO = "Projet-" & NOPRO
'Attribution du nom de fichier à la cellule N4:
Range("N4").Value = DEVISNOPRO
'Enrigistrment du fichier:
Chemin = "G:\devis standards\NE_PAS_SUPPRIMER\"
ActiveWorkbook.SaveAs Chemin & ActiveSheet.Range("N4").Value


'Ouverture de la boîte de dialogue et remplissage des zones:

Dim OutApp As Object
Dim OutMail As Object
Dim strto As String, strcc As String, strbcc As String
Dim strsub As String, strbody As String

Set OutApp = CreateObject("Outlook.Application")
OutApp.Session.Logon
Set OutMail = OutApp.CreateItem(0)

strto = Range("N2")
strcc = Range("O2")
'strbcc = ActiveCell
strsub = ("Offre de prix " & ActiveSheet.Range("E5"))
strbody = "Bonjour, l'email fonctionne bien" & vbNewLine & vbNewLine & _
"à verify le document Excel en annexe"

With OutMail
.To = strto
.CC = strcc
.BCC = strbcc
.Subject = strsub
.Body = strbody
' .Send
.Display
Application.Wait (Now + TimeValue("0:00:02"))
Application.SendKeys "%S"
End With

Set OutMail = Nothing
Set OutApp = Nothing

End Sub

Merci de m'aider, il ne me manque pas grand chose mais cela me bloque.
A bientôt
Stéphane
 

Hulk

XLDnaute Barbatruc
Re : macro pour envoi fichier .xls avec microsoft outlook

Hello Roland_M, Ledzepfred et tous,

Ok merci pour vos explications.
Donc si j'ai bien compris 3 ou 4 ne veulent rien dire ou 1 et 2 ou 3 et 5 ?
6 = oui et 7 = non toujours ok.

Je crois que je vais plutôt utiliser des Userform en guise de MsgBox :D

Me plonge dans tout ça.

Au plaisir de vous relire et bonne fin de journée à tous..

Hulk.
 
Dernière édition:

Hulk

XLDnaute Barbatruc
Re : macro pour envoi fichier .xls avec microsoft outlook

Re,

Au fait ai oublié Ledzepfred, ok pour la feuille masquée, je le place dans le code de la feuille ok, mais il doit y avoir une autre astuce car dans l'exemple que je dis, il n'y a pas de code dans la feuille en question !!

Mais oui effectivement Sheets(1).visible = xlVeryHidden ça joue.

Merci.

@+.

Hulk.
 

ledzepfred

XLDnaute Impliqué
Re : macro pour envoi fichier .xls avec microsoft outlook

re...

effectivement jean marcel a raison de dire que c'est à utiliser plus avec parcimonie qu'avec brio...:D
si l'instruction n'est pas dans le code c'est qu'elle est dans les propriétés (tu sélectionnes la feuille 1, tu actives l'éditeur vba, affichage fenetre propriétés, et tout en bas propriétés visible = 2 xlsheetveryhidden

a+
 

Hulk

XLDnaute Barbatruc
Re : macro pour envoi fichier .xls avec microsoft outlook

Salut,

Ok messieurs pour vos explications, ai vu comment faire, mais vrai que ça peut être piège.

Merci à vous.

Je reviendrais sans doute sur ce post pour poser encore une ou deux questions, concernant l'envoi d'email par Usrform.

Bonne fin de journée.

Hulk.
 

Manu62

XLDnaute Impliqué
Re : macro pour envoi fichier .xls avec microsoft outlook

Bonjour Hulk, le Forum,

Moi je testerais ceçi.

en N5 tu tapes la formules suivante : =N4&".xls"
Ensuite prendre le code ci dessous pour le mail.
Le code ci dessous fonctionne pas mal. Par contre avec une boite de dialague, il faudra l'adapter.
Espérant t'avoir un peu aider
Bon courage
Manu

Sub hulk()
Dim OutlookApp As Outlook.Application
Dim MItem As Outlook.MailItem
Dim myAttachments As Outlook.Attachments
Set OutlookApp = New Outlook.Application
Set MItem = OutlookApp.CreateItem(olMailItem)
Set myAttachments = MItem.Attachments
myAttachments.Add Range("N5").Value 'Pas de signe "=" apres Add
With MItem
.To = "MonEmail@toto.fr"
.Subject = "texte sujet"
.Body = "text " 'Boby et non pas TextBody
.Send
End With
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
315 096
Messages
2 116 181
Membres
112 677
dernier inscrit
Justine11