Insertion de la valeur d'une cellule dans un mail automatique

Bonjour à tous,

Ne trouvant pas la réponse à mon problème je me suis enfin décidé à me lancer sur le forum qui m'aida à de nombreuses reprises.

Je souhaite incorporer dans le corps du texte des mails envoyés automatiquement depuis Excel 2013 la valeur d'une cellule (une date) à la place des AAAA dans le code que j'ai réalisé ci-dessous. Rien de bien compliqué je pense, si ce n'est que je suis incapable (pour cette fois) de résoudre le problème.

MsgBox Fichier

Dim MaMessagerie As Object

Dim MonMessage As Object

Set MaMessagerie = CreateObject("Outlook.application")

Set MonMessage = MaMessagerie.Createitem(0)

MonMessage.to = "XXXX"'

MonMessage.to = "XXXX"

'MonMessage.CC = "XXXXX"'

'MonMessage.CCI = "XXXX'

MonMessage.attachments.Add Fichier

'sujet du mail'

MonMessage.Subject = "XXX - ChantierXXXX"

'Corps du mail'

Contenu = "Bonjour,"

Contenu = Contenu & Chr(10) & Chr(13)

Contenu = Contenu & "Veuillez trouver ci-joint les actions XXX restantes à réaliser." & Chr(10) & Chr(13)

Contenu = Contenu & "Pouvez-vous m'indiquer par la mise à jour de ce fichier, l'état d'avancement de l'ensemble de vos actions en vue du prochain comité projet ayant lieu le AAA?" & Chr(10) & Chr(13)

Contenu = Contenu & "Merci d'avance." & Chr(10) & Chr(13)

Contenu = Contenu & "Cordialement," & Chr(10) & Chr(13)

Contenu = Contenu & "XXX" & Chr(10)

MonMessage.Body = Contenu

MonMessage.Send

'Réinitialisation de la messagerie'

Set MaMessagerie = Nothing

'Boite de dialogue qui confirme l'envoi du message et de sa pièce jointe'

MsgBox "Votre mail a bien été envoyé"

J'ai tenté de de mettre cette formule (et bien d'autres) mais sans succès :

"Pouvez-vous m'indiquer par la mise à jour de ce fichier, l'état d'avancement de l'ensemble de vos actions en vue du prochain comité projet ayant lieu le" & Worksheets("Data").Range("Cellule").Value & Chr(10) & Chr(13)

Si le temps et l'envie vous disent, je vous remercie d'avance pour votre aide

Paul

Bonjour,

voici un exemple,

Sub test()
MaDate = Format(Worksheets("Data").Range("Cellule"), "dd mmmm yyyy")
Contenu = Contenu & "Pouvez-vous m'indiquer par la mise à jour de ce fichier," & Chr(10) & _
"l'état d'avancement de l'ensemble de vos actions en vue du prochain comité projet ayant lieu le " & MaDate & Chr(10) & Chr(13)
MsgBox Contenu
End Sub

ps/ attention: il faudrait utiliser un autre nom pour la variable "Cellule"

ce nom est déjà utilisé par excel dans les formules native (MS Excel 4.0)

Bonjour SabV,

Je vous remercie pour votre réponse. J'ai tenté de modifier le code selon vos indications cependant, j'ai un message d'erreur sur la définition de la variable MaDate = Format(Worksheets("Data").Range("U3"), "dd mmmm yyyy") sachant que je dois aller chercher la valeur de la cellule U3 dans la feuille Data.

Pour davantage de clarté, vous trouverez ci-dessous l'ensemble du code modifié selon vos indications. J'ai certainement omis ou mal compris une étape (je précise que le code fonctionne actuellement parfaitement sans l'ajout de la variable).

Sub DOT()

'

' DOT Macro

' Enregistre l'onglet sur un nouveau classeur

'

Sheets("DOT").Select

Sheets("DOT").Copy

ActiveWorkbook.SaveAs Filename:= _

"O:\SGL\DOT\@COMMUN_XXX\NEW XXX\02_XXX\01-Suivi du projet\00-Suivi des actions globales XX\01-Ensembles des fichers d'actions\XXXX - Chantier#2 XXXXXX.xlsm" _

, FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False

'la programme ouvre une fenêtre ou l'on selectionne le fichier'

Fichier = Application.GetOpenFilename("Tous les fichiers(*.*),*.*")

MsgBox Fichier

'ici on demande d'utiliser outlook comme client de messagerie'

Dim MaMessagerie As Object

Dim MonMessage As Object

Set MaMessagerie = CreateObject("Outlook.application")

Set MonMessage = MaMessagerie.Createitem(0)

MaDate = Format(Worksheets("Data").Range("U3"), "dd mmmm yyyy")

'ici nous définissons les champs du mail'

'entre guillemet il faut indiquer les adresse mail'

'MonMessage.to = "XXXX"'

MonMessage.to = "XXXX"

'MonMessage.CC = "XXXX"'

'MonMessage.CCI = "personne en copie caché'

'ici nous commençons la rédaction du mail'

MonMessage.attachments.Add Fichier

'sujet du mail'

MonMessage.Subject = "A2020 - Chantier#2 XXXX"

'Corps du mail'

Contenu = "Bonjour,"

Contenu = Contenu & Chr(10) & Chr(13)

'les caractères Chr indiquent un saut de ligne'

Contenu = Contenu & "Veuillez trouver ci-joint les actions DOT restantes à réaliser." & Chr(10) & Chr(13)

Contenu = Contenu & "Pouvez-vous m'indiquer par la mise à jour de ce fichier, l'état d'avancement de l'ensemble de vos actions en vue du prochain comité projet ayant lieu le" & MaDate & Chr(10) & Chr(13)

Contenu = Contenu & "Merci d'avance." & Chr(10) & Chr(13)

Contenu = Contenu & "Cordialement," & Chr(10) & Chr(13)

MonMessage.Body = Contenu

'ici on provoque l'envoi du mail et de sa pièce jointe'

MonMessage.Send

'Réinitialisation de la messagerie'

Set MaMessagerie = Nothing

'Boite de dialogue qui confirme l'envoi du message et de sa pièce jointe'

MsgBox "Votre mail a bien été envoyé"

End Sub

Bonjour,

avez-vous déclaré la variable,

Dim MaDate As String
Rechercher des sujets similaires à "insertion valeur mail automatique"