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