Comment envoyer chaque feuille à des adresses e-mail différentes depuis Excel ?
Si votre classeur Excel contient plusieurs feuilles de calcul, chacune comportant une adresse e-mail dans la cellule S1, vous voudrez sans doute envoyer chaque feuille en pièce jointe à son destinataire respectif. Cette opération peut vite devenir fastidieuse si elle est réalisée manuellement, particulièrement lorsque le nombre de feuilles est élevé. Dans ce tutoriel, nous vous montrons comment automatiser cette tâche à l’aide d’un code VBA afin d’envoyer chaque feuille du classeur en pièce jointe à l’adresse e-mail figurant dans la cellule S1 de cette même feuille.
Envoyer chaque feuille à des Adresse e-mail différents depuis Excel à l’aide d’un code VBA
Le code VBA ci-dessous vous permet d’envoyer chaque feuille de calcul en pièce jointe à son destinataire respectif, indiqué dans la cellule S1. Voici la procédure à suivre :
1. Appuyez simultanément sur les touches Alt + F11 pour ouvrir la fenêtre Microsoft Visual Basic pour Applications.
2. Cliquez ensuite sur Insertion > Module, puis copiez-collez le code VBA ci-dessous dans la fenêtre.
Code VBA : envoyer chaque feuille en pièce jointe à des Adresse e-mail différents
Sub Mail_Every_Worksheet()
'Updateby ExtendOffice
Dim xWs As Worksheet
Dim xWb As Workbook
Dim xFileExt As String
Dim xFileFormatNum As Long
Dim xTempFilePath As String
Dim xFileName As String
Dim xOlApp As Object
Dim xMailObj As Object
On Error Resume Next
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
xTempFilePath = Environ$("temp") & "\"
If Val(Application.Version) < 12 Then
xFileExt = ".xls": xFileFormatNum = -4143
Else
xFileExt = ".xlsm": xFileFormatNum = 52
End If
Set xOlApp = CreateObject("Outlook.Application")
For Each xWs In ThisWorkbook.Worksheets
If xWs.Range("S1").Value Like "?*@?*.?*" Then
xWs.Copy
Set xWb = ActiveWorkbook
xFileName = xWs.Name & " of " _
& VBA.Left(ThisWorkbook.Name, VBA.InStr(ThisWorkbook.Name, ".") - 1) & " "
Set xMailObj = xOlApp.CreateItem(0)
xWb.Sheets.Item(1).Range("S1").Value = ""
With xWb
.SaveAs xTempFilePath & xFileName & xFileExt, FileFormat:=xFileFormatNum
With xMailObj
'specify the CC, BCC, Subject, Body below
.To = xWs.Range("S1").Value
.CC = ""
.BCC = ""
.Subject = "This is the Subject line"
.Body = "Hi there"
.Attachments.Add xWb.FullName
.Display
End With
.Close SaveChanges:=False
End With
Set xMailObj = Nothing
Kill xTempFilePath & xFileName & xFileExt
End If
Next
Set xOlApp = Nothing
With Application
.ScreenUpdating = True
.EnableEvents = True
End With
End Sub
- S1 est la cellule qui contient l’adresse e-mail à laquelle vous souhaitez envoyer le message. Si vos adresses e-mail se trouvent dans une autre cellule, telle que A1, vous pouvez modifier le code pour refléter ce changement.
- Vous pouvez spécifier les champs CC, CCI, Objet et Corps selon vos besoins directement dans le code ;
- Pour envoyer l’e-mail directement sans ouvrir la fenêtre de nouveau message suivante, remplacez .Display par .Send.

3. Appuyez ensuite sur la touche F5 pour exécuter ce code. Chaque feuille est alors automatiquement insérée en pièce jointe dans une nouvelle fenêtre de message, comme illustré ci-dessous :

4. Enfin, cliquez sur le bouton Envoyer pour expédier chaque e-mail un par un.
Kutools pour Excel : Envoyez des e-mails personnalisés en un seul clic, facilement !

Vous en avez assez d’envoyer des e-mails clients un par un ? Grâce à la fonctionnalité « Envoyer des e-mails » de Kutools pour Excel, votre communication gagne en rapidité et en professionnalisme ! Il vous suffit de préparer une feuille Excel contenant les noms, les adresses e-mail, les codes d’inscription et d’insérer un espace réservé : le système génère automatiquement des e-mails personnalisés et en envoie des centaines en un seul clic. Fini le travail répétitif !
- 💡 Les espaces réservés dynamiques (par exemple, nom, code d’inscription) intègrent automatiquement un contenu personnalisé pour chaque destinataire, donnant l’impression que chaque e-mail a été spécialement conçu pour lui.
- 📎 Joignez des fichiers personnalisés pour une livraison précise
- 📤 S’intègre parfaitement à Outlook pour un envoi sécurisé et fiable
- 📝 Enregistrez et réutilisez des modèles d’e-mails pour une efficacité maximale
- 🎨 Éditeur WYSIWYG (« ce que vous voyez est ce que vous obtenez ») facile à utiliser
- 🖋 Utilisez votre signature Outlook — aucune configuration supplémentaire requise, il suffit d’envoyer !
- Obtenez Kutools pour Excel dès maintenant !
Meilleurs outils de productivité Office
Boostez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée.Kutools pour Excel propose plus de 300 fonctionnalités avancées pour améliorer votre productivité et Gagner du temps.Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office et rend votre travail bien plus facile
- Activez l’édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de 50 % et vous fait économiser des centaines de clics de souris chaque jour !
Tous les compléments Kutools. Un seul installateur
Kutools for Office regroupe les compléments pour Excel, Word, Outlook et PowerPoint, ainsi que Office Tab Pro, ce qui en fait le choix idéal pour les équipes travaillant à travers les applications Office.
- Suite tout-en-un— Compléments Excel, Word, Outlook et PowerPoint + Office Tab Pro
- Un seul installateur, une seule licence— installation en quelques minutes (compatible MSI)
- Fonctionne mieux ensemble— productivité optimisée dans toutes les applications Office
- Essai gratuit de 30 jours avec toutes les fonctionnalités— aucune inscription, aucune carte bancaire
- Meilleur rapport qualité-prix— économisez par rapport à l’achat de compléments individuels