Bonjour à tous,
Cette petie macro fonctionne parfaitement bien et me permet d'envoyer la
feuille EMAIL du classeur en Piece jointe sur un Email.
Je souhaiterais l'ameliorer pour que :
Le nom du fichier crée (actuellement "Budget & Date.xls") devienne : "Budget
& ....le contenu de la cellule B3....& Date.xls")
L'Objet de L'email soit automatiquement rempli ainsi : "Toto" & "....le
contenu de la cellule B3...."
Mes tentatives sont restées vaines...
Merci pour votre aide
Domi
Sub EnvoyerEmail()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Sheets("EMAIL").Select
ThisWorkbook.Sheets("EMAIL").Copy
Sheets("EMAIL").Name = "BUDGET"
With ThisWorkbook.ActiveSheet.UsedRange
'Suppression de tous les Shapes
ActiveSheet.DrawingObjects.Delete
End With
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
ThierryP
Bonjour Domi !
Ci-dessous une proc qui utilise CDO et qui fonctionne (en tous cas chez moi !!). Pour moi, elle me sert à envoyer par mail une commande saisie sous excel et rangée dans un classeur Récap mensuel. Evidemment à adapter à tes besoins
thierryp
Sub EnvoiMail() Dim iMsg As Object, iConf As Object, WBname, NumCde As String Set iMsg = CreateObject("CDO.Message") Set iConf = CreateObject("CDO.Configuration") iConf.Load -1 Set Flds = iConf.Fields ' Renseigner ci-dessous avec le smtp de l'utilisateur With Flds .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "nom_de_ton_SMTP"
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 .Update End With Application.ScreenUpdating = False NumCde = Range("F16").Value
' On crée un fichier xls temporaire d'un onglet choisi (NumCde) qui sera envoyé ' Un truc du genre : Nom_Fichier = "C:Budget" & [b3].value & Date & ".xls" doit renvoyer le nom qui va bien ActiveWorkbook.SaveCopyAs Nom_Fichier
strbody = "Bonjour " & vbNewLine & vbNewLine & _ "Veuillez trouver ci-joint ma commande " & NumCde & vbNewLine & _ "Merci de me confirmer prix et délais par retour" & vbNewLine & _ "En l'attente," & vbNewLine & "Meilleures salutations" With iMsg Set .Configuration = iConf .To = Range("B15").Value >>>>>>> adresse du destinataire .CC = "" .BCC = "" .From = """Thierry"" <ton_adresse_mail>" .Subject = "Commande" .TextBody = strbody .AddAttachment Nom_Fichier .Fields.Update .Send End With ActiveWorkbook.Close Kill Nom_Fichier Set iMsg = Nothing Set iConf = Nothing Application.ScreenUpdating = True End Sub
Bonjour à tous, Cette petie macro fonctionne parfaitement bien et me permet d'envoyer la feuille EMAIL du classeur en Piece jointe sur un Email. Je souhaiterais l'ameliorer pour que : Le nom du fichier crée (actuellement "Budget & Date.xls") devienne : "Budget & ....le contenu de la cellule B3....& Date.xls") L'Objet de L'email soit automatiquement rempli ainsi : "Toto" & "....le contenu de la cellule B3...." Mes tentatives sont restées vaines... Merci pour votre aide Domi
Sub EnvoyerEmail() Application.ScreenUpdating = False Application.DisplayAlerts = False Sheets("EMAIL").Select ThisWorkbook.Sheets("EMAIL").Copy Sheets("EMAIL").Name = "BUDGET" With ThisWorkbook.ActiveSheet.UsedRange 'Suppression de tous les Shapes ActiveSheet.DrawingObjects.Delete End With
ActiveWorkbook.Close Sheets("BASE").Select End Sub
Bonjour Domi !
Ci-dessous une proc qui utilise CDO et qui fonctionne (en tous cas chez
moi !!). Pour moi, elle me sert à envoyer par mail une commande saisie
sous excel et rangée dans un classeur Récap mensuel. Evidemment à
adapter à tes besoins
thierryp
Sub EnvoiMail()
Dim iMsg As Object, iConf As Object, WBname, NumCde As String
Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")
iConf.Load -1
Set Flds = iConf.Fields
' Renseigner ci-dessous avec le smtp de l'utilisateur
With Flds
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver")
= "nom_de_ton_SMTP"
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
.Update
End With
Application.ScreenUpdating = False
NumCde = Range("F16").Value
' On crée un fichier xls temporaire d'un onglet choisi (NumCde) qui sera
envoyé
' Un truc du genre : Nom_Fichier = "C:Budget" & [b3].value & Date &
".xls" doit renvoyer le nom qui va bien
ActiveWorkbook.SaveCopyAs Nom_Fichier
strbody = "Bonjour " & vbNewLine & vbNewLine & _
"Veuillez trouver ci-joint ma commande " & NumCde &
vbNewLine & _
"Merci de me confirmer prix et délais par retour" &
vbNewLine & _
"En l'attente," & vbNewLine & "Meilleures salutations"
With iMsg
Set .Configuration = iConf
.To = Range("B15").Value >>>>>>> adresse du destinataire
.CC = ""
.BCC = ""
.From = """Thierry"" <ton_adresse_mail>"
.Subject = "Commande"
.TextBody = strbody
.AddAttachment Nom_Fichier
.Fields.Update
.Send
End With
ActiveWorkbook.Close
Kill Nom_Fichier
Set iMsg = Nothing
Set iConf = Nothing
Application.ScreenUpdating = True
End Sub
Bonjour à tous,
Cette petie macro fonctionne parfaitement bien et me permet d'envoyer la
feuille EMAIL du classeur en Piece jointe sur un Email.
Je souhaiterais l'ameliorer pour que :
Le nom du fichier crée (actuellement "Budget & Date.xls") devienne : "Budget
& ....le contenu de la cellule B3....& Date.xls")
L'Objet de L'email soit automatiquement rempli ainsi : "Toto" & "....le
contenu de la cellule B3...."
Mes tentatives sont restées vaines...
Merci pour votre aide
Domi
Sub EnvoyerEmail()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Sheets("EMAIL").Select
ThisWorkbook.Sheets("EMAIL").Copy
Sheets("EMAIL").Name = "BUDGET"
With ThisWorkbook.ActiveSheet.UsedRange
'Suppression de tous les Shapes
ActiveSheet.DrawingObjects.Delete
End With
Ci-dessous une proc qui utilise CDO et qui fonctionne (en tous cas chez moi !!). Pour moi, elle me sert à envoyer par mail une commande saisie sous excel et rangée dans un classeur Récap mensuel. Evidemment à adapter à tes besoins
thierryp
Sub EnvoiMail() Dim iMsg As Object, iConf As Object, WBname, NumCde As String Set iMsg = CreateObject("CDO.Message") Set iConf = CreateObject("CDO.Configuration") iConf.Load -1 Set Flds = iConf.Fields ' Renseigner ci-dessous avec le smtp de l'utilisateur With Flds .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "nom_de_ton_SMTP"
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 .Update End With Application.ScreenUpdating = False NumCde = Range("F16").Value
' On crée un fichier xls temporaire d'un onglet choisi (NumCde) qui sera envoyé ' Un truc du genre : Nom_Fichier = "C:Budget" & [b3].value & Date & ".xls" doit renvoyer le nom qui va bien ActiveWorkbook.SaveCopyAs Nom_Fichier
strbody = "Bonjour " & vbNewLine & vbNewLine & _ "Veuillez trouver ci-joint ma commande " & NumCde & vbNewLine & _ "Merci de me confirmer prix et délais par retour" & vbNewLine & _ "En l'attente," & vbNewLine & "Meilleures salutations" With iMsg Set .Configuration = iConf .To = Range("B15").Value >>>>>>> adresse du destinataire .CC = "" .BCC = "" .From = """Thierry"" <ton_adresse_mail>" .Subject = "Commande" .TextBody = strbody .AddAttachment Nom_Fichier .Fields.Update .Send End With ActiveWorkbook.Close Kill Nom_Fichier Set iMsg = Nothing Set iConf = Nothing Application.ScreenUpdating = True End Sub
Bonjour à tous, Cette petie macro fonctionne parfaitement bien et me permet d'envoyer la feuille EMAIL du classeur en Piece jointe sur un Email. Je souhaiterais l'ameliorer pour que : Le nom du fichier crée (actuellement "Budget & Date.xls") devienne : "Budget & ....le contenu de la cellule B3....& Date.xls") L'Objet de L'email soit automatiquement rempli ainsi : "Toto" & "....le contenu de la cellule B3...." Mes tentatives sont restées vaines... Merci pour votre aide Domi
Sub EnvoyerEmail() Application.ScreenUpdating = False Application.DisplayAlerts = False Sheets("EMAIL").Select ThisWorkbook.Sheets("EMAIL").Copy Sheets("EMAIL").Name = "BUDGET" With ThisWorkbook.ActiveSheet.UsedRange 'Suppression de tous les Shapes ActiveSheet.DrawingObjects.Delete End With
ActiveWorkbook.Close Sheets("BASE").Select End Sub
Domi
Merci pour ta réponse. Je voudrais tout de même continuer mon code Application.Dialogs(xlDialogSendMail).Show qui me lance Outlook 2000 car (j'ai oublié de le préciser dans ma question) le message peut être envoyé soit par Email, soit par Mail en Messagerie Interne au boulot (la plupart des cas d'ailleurs). Je vais tout de même essayer demain pour voir ce que cela fait. Encore merci domi
"ThierryP" a écrit dans le message de news:
Bonjour Domi !
Ci-dessous une proc qui utilise CDO et qui fonctionne (en tous cas chez moi !!). Pour moi, elle me sert à envoyer par mail une commande saisie sous excel et rangée dans un classeur Récap mensuel. Evidemment à adapter à tes besoins
thierryp
Sub EnvoiMail() Dim iMsg As Object, iConf As Object, WBname, NumCde As String Set iMsg = CreateObject("CDO.Message") Set iConf = CreateObject("CDO.Configuration") iConf.Load -1 Set Flds = iConf.Fields ' Renseigner ci-dessous avec le smtp de l'utilisateur With Flds .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "nom_de_ton_SMTP"
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") 25 .Update End With Application.ScreenUpdating = False NumCde = Range("F16").Value
' On crée un fichier xls temporaire d'un onglet choisi (NumCde) qui sera envoyé ' Un truc du genre : Nom_Fichier = "C:Budget" & [b3].value & Date & ".xls" doit renvoyer le nom qui va bien ActiveWorkbook.SaveCopyAs Nom_Fichier
strbody = "Bonjour " & vbNewLine & vbNewLine & _ "Veuillez trouver ci-joint ma commande " & NumCde & vbNewLine & _ "Merci de me confirmer prix et délais par retour" & vbNewLine & _ "En l'attente," & vbNewLine & "Meilleures salutations" With iMsg Set .Configuration = iConf .To = Range("B15").Value >>>>>>> adresse du destinataire .CC = "" .BCC = "" .From = """Thierry"" <ton_adresse_mail>" .Subject = "Commande" .TextBody = strbody .AddAttachment Nom_Fichier .Fields.Update .Send End With ActiveWorkbook.Close Kill Nom_Fichier Set iMsg = Nothing Set iConf = Nothing Application.ScreenUpdating = True End Sub
Bonjour à tous, Cette petie macro fonctionne parfaitement bien et me permet d'envoyer la feuille EMAIL du classeur en Piece jointe sur un Email. Je souhaiterais l'ameliorer pour que : Le nom du fichier crée (actuellement "Budget & Date.xls") devienne : "Budget
& ....le contenu de la cellule B3....& Date.xls") L'Objet de L'email soit automatiquement rempli ainsi : "Toto" & "....le contenu de la cellule B3...." Mes tentatives sont restées vaines... Merci pour votre aide Domi
Sub EnvoyerEmail() Application.ScreenUpdating = False Application.DisplayAlerts = False Sheets("EMAIL").Select ThisWorkbook.Sheets("EMAIL").Copy Sheets("EMAIL").Name = "BUDGET" With ThisWorkbook.ActiveSheet.UsedRange 'Suppression de tous les Shapes ActiveSheet.DrawingObjects.Delete End With
ActiveWorkbook.Close Sheets("BASE").Select End Sub
Merci pour ta réponse.
Je voudrais tout de même continuer mon code
Application.Dialogs(xlDialogSendMail).Show qui me lance Outlook 2000 car
(j'ai oublié de le préciser dans ma question) le message peut être envoyé
soit par Email, soit par Mail en Messagerie Interne au boulot (la plupart
des cas d'ailleurs).
Je vais tout de même essayer demain pour voir ce que cela fait.
Encore merci
domi
"ThierryP" <thierryp_NO_SPAM@club-internet.fr> a écrit dans le message de
news:u4UKm4W1FHA.3780@TK2MSFTNGP12.phx.gbl...
Bonjour Domi !
Ci-dessous une proc qui utilise CDO et qui fonctionne (en tous cas chez
moi !!). Pour moi, elle me sert à envoyer par mail une commande saisie
sous excel et rangée dans un classeur Récap mensuel. Evidemment à
adapter à tes besoins
thierryp
Sub EnvoiMail()
Dim iMsg As Object, iConf As Object, WBname, NumCde As String
Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")
iConf.Load -1
Set Flds = iConf.Fields
' Renseigner ci-dessous avec le smtp de l'utilisateur
With Flds
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver")
= "nom_de_ton_SMTP"
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") 25
.Update
End With
Application.ScreenUpdating = False
NumCde = Range("F16").Value
' On crée un fichier xls temporaire d'un onglet choisi (NumCde) qui sera
envoyé
' Un truc du genre : Nom_Fichier = "C:Budget" & [b3].value & Date &
".xls" doit renvoyer le nom qui va bien
ActiveWorkbook.SaveCopyAs Nom_Fichier
strbody = "Bonjour " & vbNewLine & vbNewLine & _
"Veuillez trouver ci-joint ma commande " & NumCde &
vbNewLine & _
"Merci de me confirmer prix et délais par retour" &
vbNewLine & _
"En l'attente," & vbNewLine & "Meilleures salutations"
With iMsg
Set .Configuration = iConf
.To = Range("B15").Value >>>>>>> adresse du destinataire
.CC = ""
.BCC = ""
.From = """Thierry"" <ton_adresse_mail>"
.Subject = "Commande"
.TextBody = strbody
.AddAttachment Nom_Fichier
.Fields.Update
.Send
End With
ActiveWorkbook.Close
Kill Nom_Fichier
Set iMsg = Nothing
Set iConf = Nothing
Application.ScreenUpdating = True
End Sub
Bonjour à tous,
Cette petie macro fonctionne parfaitement bien et me permet d'envoyer la
feuille EMAIL du classeur en Piece jointe sur un Email.
Je souhaiterais l'ameliorer pour que :
Le nom du fichier crée (actuellement "Budget & Date.xls") devienne :
"Budget
& ....le contenu de la cellule B3....& Date.xls")
L'Objet de L'email soit automatiquement rempli ainsi : "Toto" & "....le
contenu de la cellule B3...."
Mes tentatives sont restées vaines...
Merci pour votre aide
Domi
Sub EnvoyerEmail()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Sheets("EMAIL").Select
ThisWorkbook.Sheets("EMAIL").Copy
Sheets("EMAIL").Name = "BUDGET"
With ThisWorkbook.ActiveSheet.UsedRange
'Suppression de tous les Shapes
ActiveSheet.DrawingObjects.Delete
End With
Merci pour ta réponse. Je voudrais tout de même continuer mon code Application.Dialogs(xlDialogSendMail).Show qui me lance Outlook 2000 car (j'ai oublié de le préciser dans ma question) le message peut être envoyé soit par Email, soit par Mail en Messagerie Interne au boulot (la plupart des cas d'ailleurs). Je vais tout de même essayer demain pour voir ce que cela fait. Encore merci domi
"ThierryP" a écrit dans le message de news:
Bonjour Domi !
Ci-dessous une proc qui utilise CDO et qui fonctionne (en tous cas chez moi !!). Pour moi, elle me sert à envoyer par mail une commande saisie sous excel et rangée dans un classeur Récap mensuel. Evidemment à adapter à tes besoins
thierryp
Sub EnvoiMail() Dim iMsg As Object, iConf As Object, WBname, NumCde As String Set iMsg = CreateObject("CDO.Message") Set iConf = CreateObject("CDO.Configuration") iConf.Load -1 Set Flds = iConf.Fields ' Renseigner ci-dessous avec le smtp de l'utilisateur With Flds .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "nom_de_ton_SMTP"
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") 25 .Update End With Application.ScreenUpdating = False NumCde = Range("F16").Value
' On crée un fichier xls temporaire d'un onglet choisi (NumCde) qui sera envoyé ' Un truc du genre : Nom_Fichier = "C:Budget" & [b3].value & Date & ".xls" doit renvoyer le nom qui va bien ActiveWorkbook.SaveCopyAs Nom_Fichier
strbody = "Bonjour " & vbNewLine & vbNewLine & _ "Veuillez trouver ci-joint ma commande " & NumCde & vbNewLine & _ "Merci de me confirmer prix et délais par retour" & vbNewLine & _ "En l'attente," & vbNewLine & "Meilleures salutations" With iMsg Set .Configuration = iConf .To = Range("B15").Value >>>>>>> adresse du destinataire .CC = "" .BCC = "" .From = """Thierry"" <ton_adresse_mail>" .Subject = "Commande" .TextBody = strbody .AddAttachment Nom_Fichier .Fields.Update .Send End With ActiveWorkbook.Close Kill Nom_Fichier Set iMsg = Nothing Set iConf = Nothing Application.ScreenUpdating = True End Sub
Bonjour à tous, Cette petie macro fonctionne parfaitement bien et me permet d'envoyer la feuille EMAIL du classeur en Piece jointe sur un Email. Je souhaiterais l'ameliorer pour que : Le nom du fichier crée (actuellement "Budget & Date.xls") devienne : "Budget
& ....le contenu de la cellule B3....& Date.xls") L'Objet de L'email soit automatiquement rempli ainsi : "Toto" & "....le contenu de la cellule B3...." Mes tentatives sont restées vaines... Merci pour votre aide Domi
Sub EnvoyerEmail() Application.ScreenUpdating = False Application.DisplayAlerts = False Sheets("EMAIL").Select ThisWorkbook.Sheets("EMAIL").Copy Sheets("EMAIL").Name = "BUDGET" With ThisWorkbook.ActiveSheet.UsedRange 'Suppression de tous les Shapes ActiveSheet.DrawingObjects.Delete End With