Titre avec date variable pour envoi de Mail

Bonjour a tous et toutes,

Je vous explique mon problème j'ai une macro afin d'envoyer un tableau dynamique via Outlook une fois par semaine(le lundi)

Jusqu'ici tout va bien, le soucis est que dans mon Item.Subjet j aimerais faire figurer la semaine passé au Lundi.

C'est a dire si nous sommes le lundi 18/12/17 je voudrais avoir ceci dans mon Item.Subjet:

Enquètes de satisfactions pour la semaine du 11/12/2017 au 15/12/2017.

Cela correspondrait a la semaine passé en jour ouvré.Dans mon code c'est ou il y a marqué DATE A METTRE

J'espère que j'ai été assez clair je vous joint mon code au cas ou..

Merci d'avance pour votre aide

Private Sub CommandButton1_Click()
Dim l As Integer

l=1
Do While Cells(l,1) <> ""
l=l+1
Loop

Sheets("Satisfaction_users").select
ActiveSheet.Range("A1:G" & l).select
ActiveWorkbook.EnvelopeVisible=True

With ActiveSheet.MailEnvelope

.Introduction="Bonjour" & &"," _
& Chr(10) & Chr(10) & "Blablabla" & " " & "DATE A METTRE "
.Item.To= azerty@azerty.com
.Item.Subjet= "Blablabla" & " " & "DATE A METTRE "
.Item.Display

End With

End Sub

Bonjour nono,

essaye avec en admettant que ton envoi soit vraiment chaque Lundi

"Blablabla - " & TODAY()-7

ou peut être

Private Sub CommandButton1_Click()
Dim l As Integer

l=1
Do While Cells(l,1) <> ""
l=l+1
Loop

Sheets("Satisfaction_users").select
ActiveSheet.Range("A1:G" & l).select
ActiveWorkbook.EnvelopeVisible=True

With ActiveSheet.MailEnvelope

.Introduction="Bonjour" & &"," _
& Chr(10) & Chr(10) & "Blablabla - " & Date - 7
.Item.To= azerty@azerty.com
.Item.Subjet= "Blablabla - " & Date - 7
.Item.Display

End With

End Sub

Bonjour nunos31,

J y avais pensé mais si j'oublie de le faire le lundi il va falloir que je retouche la macro.

Y a t il une solution ou pas?

Merci d'avance

A tester si ça fonctionne pour toi

Private Sub CommandButton1_Click()
Dim l As Integer
Dim Annee As Integer, semaine As Integer, NumJour As Integer
Dim Prevlundi
Annee = Year(Date)
semaine = Format(Date, "ww", vbMonday, vbFirstFourDays) - 1
NumJour = 0 ' 0=Lundi, 1=Mardi ...

Prevlundi = Evaluate("TEXT(DATE(" & Annee & ",1,3)-WEEKDAY(DATE(" & Annee & _
    ",1,3))-5+(7*" & semaine & ")+" & NumJour & ",""dd/mm/yyyy"")")

l = 1
Do While Cells(l, 1) <> ""
l = l + 1
Loop

Sheets("Satisfaction_users").Select
ActiveSheet.Range("A1:G" & l).Select
ActiveWorkbook.EnvelopeVisible = True

With ActiveSheet.MailEnvelope

.Introduction = "Bonjour" & "," & Chr(10) & Chr(10) & "Blablabla" & " - " & Prevlundi
.Item.To= azerty@azerty.com
.Item.Subjet = "Blablabla" & " - " & Prevlundi
.Item.Display

End With

End Sub

Je te remercie nunos31 pour cette réponse rapide, c'est bien ce que je voulais par contre comment j'ajoute la fin de la semaine pour obtenir :

"Blablabla du 11/12/2017 au 15/12/2017"

Sachant bien évidemment que cela change toute les semaines

Merci d'avance pour ta réponse

Private Sub CommandButton1_Click()
Dim l As Integer
Dim Annee As Integer, semaine As Integer, NumJour As Integer
Dim Prevlundi
Annee = Year(Date)
semaine = Format(Date, "ww", vbMonday, vbFirstFourDays) - 1
NumJour = 0 ' 0=Lundi, 1=Mardi ...

Prevlundi = Evaluate("TEXT(DATE(" & Annee & ",1,3)-WEEKDAY(DATE(" & Annee & _
    ",1,3))-5+(7*" & semaine & ")+" & NumJour & ",""dd/mm/yyyy"")")

l = 1
Do While Cells(l, 1) <> ""
l = l + 1
Loop

Sheets("Satisfaction_users").Select
ActiveSheet.Range("A1:G" & l).Select
ActiveWorkbook.EnvelopeVisible = True

With ActiveSheet.MailEnvelope

.Introduction = "Bonjour" & "," & Chr(10) & Chr(10) & "Blablabla" & " - " & Prevlundi
.Item.To= azerty@azerty.com
.Item.Subjet = "Blablabla" & " - " & Prevlundi
.Item.Display

End With

End Sub

A tester

Private Sub CommandButton1_Click()
Dim l As Integer
Dim Annee As Integer, semaine As Integer, NumJour As Integer, NumJour2 As Integer
Dim Prevlundi, PrevVendredi
Annee = Year(Date)
semaine = Format(Date, "ww", vbMonday, vbFirstFourDays) - 1
NumJour = 0 ' 0 = Lundi
NumJour2 = 4 ' 4 = Vendredi

Prevlundi = Evaluate("TEXT(DATE(" & Annee & ",1,3)-WEEKDAY(DATE(" & Annee & ",1,3))-5+(7*" & semaine & ")+" & NumJour & ",""dd/mm/yyyy"")")
PrevVendredi = Evaluate("TEXT(DATE(" & Annee & ",1,3)-WEEKDAY(DATE(" & Annee & ",1,3))-5+(7*" & semaine & ")+" & NumJour2 & ",""dd/mm/yyyy"")")

l = 1
Do While Cells(l, 1) <> ""
l = l + 1
Loop

Sheets("Satisfaction_users").Select
ActiveSheet.Range("A1:G" & l).Select
ActiveWorkbook.EnvelopeVisible = True

With ActiveSheet.MailEnvelope
.Introduction = "Bonjour" & "," & Chr(10) & Chr(10) & "Blablabla" & " du " & Prevlundi & " au " & PrevVendredi
.Item.To= azerty@azerty.com
.Item.Subjet = "Blablabla" & " - " & Prevlundi & " au " & PrevVendredi
.Item.Display
End With

End Sub

Franchement tu gères grave cela fonctionne au top!!!

Merci beaucoup et bonne continuation

Rechercher des sujets similaires à "titre date variable envoi mail"