Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Envoi mail + insérer data ds la corps du mail???

  • Initiateur de la discussion Initiateur de la discussion Askan
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Askan

XLDnaute Nouveau
Bonjour le forum,

J'ai une question ! Quel code faut il ajouter à mes lignes (tout fonctionne da'illeurs) afin d'insérer dans le corps du mail et l'objet du mail aussi (ce serait top!!) des données mises à jour quotidiennement.
Je compte envoyer un fichier .xls. Peut-on alors récupérer des données dans des cellules qui seront tout le temps placées dans les mêmes puis les insérer à la fois dans le corps du mail et l'objet du mail.
Par ex, je souhaite envoyer tous les jours ds le corps du mail

"Bonjour;

Vous trouverez ci-joint le fichier des produits dont les provisions sont de ... (varie ts les jrs) euros
Les frais du jours sont ...euros

Cdlt..ect..."

Ds l'objet du mail : la date du jour_montant en euros

Merci beaucoup
 
Re : Envoi mail + insérer data ds la corps du mail???

Bonjour Askan,

Pour qu'on puisse tenter d'"ajouter du code à tes lignes" encore faudrait-il qu'on ait connaissance de tes lignes...

Cela dit, pour ce type de problème (et bien d'autres !), je ne t'enverrai pas voir dans un autre site, il y a tout ici, une seule référence :
La page Wiki 3 de MichelXLD


Cordialement,
 
Re : Envoi mail + insérer data ds la corps du mail???

Désolé...ci-joint le code modifié un peu pour tenter d'insérer des données en objet et corps

Le code pour Corps fonctionne mais des que je rajoute le code en subject ...ça ne marche plus??!!

Dim MonOutlook As Object
Dim MonMessage As Object
Set MonOutlook = CreateObject("Outlook.Application")
Set MonMessage = MonOutlook.createitem(0)
MonMessage.to = "toto.tintin@wanadoo.fr"
MonMessage.cc = "tata.tutu@yahoo.com"
MonMessage.Attachments.Add "Y:\.....\fichier.xls"
MonMessage.Subject = "Produit estimé à " & Round(Sheets("Estimation").Cells(33, 3).Value, [2]) & Round(Sheets("Estimation").Cells(35, 4).Value, [2])
' Le corps du message est divisé en 2 lignes :
Corps = "Bonjour,"
' Chr(13) & Chr(10) = Touche ENTER
Corps = Corps & Chr(13) & Chr(10)
Corps = Corps & "Produit estimé à " & Round(Sheets("Estimation").Cells(33, 3).Value, [2]) & "soit " & Round(Sheets("Estimation").Cells(35, 5).Value, [2])
MonMessage.body = Corps
MonMessage.send
Set MonOutlook = Nothing
End Sub

je souhaite mettre la date et mois en subject aussi??
Subject : Produit estimé au 31/01 à (data.xls) soit variation (data.xls)

Merci
 
Re : Envoi mail + insérer data ds la corps du mail???

Re,

"Le code pour Corps fonctionne" dis-tu...

A vrai dire je ne vois pas bien comment tu passes de :
"Produit estimé à " & Round(Sheets("Estimation").Cells(33, 3).Value, [2]) & "soit " & Round(Sheets("Estimation").Cells(35, 5).Value, [2])
à
Produit estimé au 31/01 à (data.xls) soit variation (data.xls)

Pourquoi des crochets autour de "[2]" ?
Pourquoi un arrondi ?
Qu'y a t'il exactement dans les cellules C33 et E35 ?
Et si aucune de ces cellules ne contient la date souhaitée, quelle date veux-tu voir apparaître ?

Soit plus clair si tu veux de l'aide...

Cordialement,
 
Re : Envoi mail + insérer data ds la corps du mail???

Bonjour,

Alors 2 choses, mon problème se situe au niveau de l'objet du message et non au niveau du coprs du message...
J'arrive à récupérer les données afin de les insérer dans le corps du message:

Corps = Corps & "Produit estimé à " & Round(Sheets("Estimation").Cells(33, 3).Value, [2]) & "soit " & Round(Sheets("Estimation").Cells(35, 5).Value, [2])


Par contre, s'il s'agit de l'objet du message je ne récupère pas les données. C'est justement là ou se trouve mon problème. Je souhaite insérer aussi en sujet des données à récupérer du fichier xls :

MonMessage.Subject = "Produit estimé à " & Round(Sheets("Estimation").Cells(33, 3).Value, [2]) & Round(Sheets("Estimation").Cells(35, 4).Value, [2])

Ce code ne marche pas!!
Donc comment modifier ce code afin d'insérer dees données du fichier xls en objet du message? est-ce possible?

Merci
 
Re : Envoi mail + insérer data ds la corps du mail???

Bonjour,

Merci pour ta réponse...toujours dans la continuité, comment pourais-je intégrer une condition qui dirait:
Si nous sommes lundi envoyer le fichier du vendredi et le reste de la semaine prendre le fichier J-1
Plus clairement, ci-dessous une partie du code (ça marche!!)

Dim StrDate As String
StrDate = Sheets("Estimation").Cells(2, 3).Value
StrDate = Mid(StrDate, 1, 2) & Mid(StrDate, 4, 2)
MsgBox (StrDate)
MonMessage.Attachments.Add "Y:\...\nomdufichier" & StrDate & ".xls"

Chaque fichier est daté comme (jjmm)...4 caractères, je souhaite donc:
Si lundi, récupérer le fichier de vendredi
Si mardi, récupérer le fichier de lundi
Si mercredi....mardi
Que pour les jours ouvrés...Qq un a t il une idée svp???Et surtout où intégré le code...
Merci
 
Re : Envoi mail + insérer data ds la corps du mail???


Comment pourrai-je écrire cette condition if date par ex??
Pourriez-vous m'aidez sur ce code svp? Je cherche à écrire cette condition sous VBA

Merci
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
391
Réponses
6
Affichages
819
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…