Voici le code: =)
Sub EnvoiFinal()
Dim OutApp As Object
Dim OutMail As Object
Dim cell As Range, x As Integer
Dim mesdestinataires As String 'Tableau dans lequel sont stoquées les adresses mails
Dim Wkb As Workbook
Application.ScreenUpdating = False
'Groupement qui recupère les adresses mails
Sheets("Infos revue").Select 'Selectionne l'onglet dans lequel se trouve les adresses mails
For Each cell In Columns("C").Cells.SpecialCells(xlCellTypeConstants) 'Colonne C, colonne où se trouve l'adresse
If cell.Value Like "?*@?*.?*" And _
LCase(Cells(cell.Row, "D").Value) = "oui" Then mesdestinataires = cell.Value & "; " & mesdestinataires 'Colonne D, colle du critère d'envoi. Oui le mail est envoyé à ce destinataire
Next cell
x = Len(mesdestinataires) - 2
nbritem = Left(mesdestinataires, x)
'Groupement qui copie la plage de la feuille que l'on desire envoyer
Sheets("Synthèse").Select
ActiveSheet.Range("A1:E27").Select
ActiveWorkbook.EnvelopeVisible = True
'Groupement qui envoie le mail
If MsgBox("Etes-vous certain de vouloir envoyer ce mail ?", vbYesNo, "Demande de confirmation") = vbYes Then
With ActiveSheet.MailEnvelope
.Item.To = mesdestinataires 'Destinataire(s) du mail. Qui va chercher dans le tableau mesdestinataires dans l'onglet infos revue"
.Item.Subject = "Compte-Rendu" 'Objet du mail
.Introduction = "Accès aux présentations et listes des recommandations complètes: "
.Item.Send 'Envoi du mail
MsgBox "Le mail à bien été envoyé !"
End With
End If
'Verouillage de la feuille qui est envoyée
Sheets("Synthèse").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True 'Vérouillage de la feuille synthèse
Set OutMail = Nothing
Set OutApp = Nothing
Set Wkb = Nothing
End Sub