Accéder au contenu principal

Comment envoyer une plage de cellules par e-mail via Outlook à partir d'Excel ?

Author: Xiaoyang Last Modified: 2025-05-27

Avez-vous déjà rencontré un problème après avoir terminé un rapport dans une feuille de calcul, où vous devez envoyer une plage de cellules contenant des données importantes à un destinataire spécifique ? Existe-t-il des moyens rapides pour vous d'envoyer cette plage directement depuis Excel sans ouvrir Outlook ?

Envoyer une plage de cellules en tant que pièce jointe depuis Excel avec du code VBA

Envoyer une plage de cellules dans le corps de l'e-mail depuis Excel avec du code VBA


arrow blue right bubbleEnvoyer une plage de cellules en tant que pièce jointe depuis Excel avec du code VBA

Le code VBA suivant peut vous aider à envoyer votre plage sélectionnée en tant que pièce jointe dans Excel. Veuillez procéder comme suit :

1. Ouvrez votre classeur, puis maintenez les touches ALT + F11 enfoncées pour ouvrir la fenêtre Microsoft Visual Basic for Applications.

2. Cliquez sur Insertion > Module, puis collez le code suivant dans la fenêtre Module.

Code VBA : envoyer une plage de cellules en tant que pièce jointe depuis Excel

Sub SendRange()
'Update 20131209
Dim xFile As String
Dim xFormat As Long
Dim Wb As Workbook
Dim Wb2 As Workbook
Dim Ws As Worksheet
Dim FilePath As String
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
Dim WorkRng As Range
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set Wb = Application.ActiveWorkbook
Wb.Worksheets.Add
Set Ws = Application.ActiveSheet
WorkRng.Copy Ws.Cells(1, 1)
Ws.Copy
Set Wb2 = Application.ActiveWorkbook
Select Case Wb.FileFormat
Case xlOpenXMLWorkbook:
    xFile = ".xlsx"
    xFormat = xlOpenXMLWorkbook
Case xlOpenXMLWorkbookMacroEnabled:
    If Wb2.HasVBProject Then
        xFile = ".xlsm"
        xFormat = xlOpenXMLWorkbookMacroEnabled
    Else
        xFile = ".xlsx"
        xFormat = xlOpenXMLWorkbook
    End If
Case Excel8:
    xFile = ".xls"
    xFormat = Excel8
Case xlExcel12:
    xFile = ".xlsb"
    xFormat = xlExcel12
End Select
FilePath = Environ$("temp") & "\"
FileName = Wb.Name & Format(Now, "dd-mmm-yy h-mm-ss")
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
Wb2.SaveAs FilePath & FileName & xFile, FileFormat:=xFormat
With OutlookMail
    .To = "skyyang@extendoffice.com"
    .CC = ""
    .BCC = ""
    .Subject = "information of kte"
    .Body = "hello, please check and read this document. "
    .Attachments.Add Wb2.FullName
    .Send
End With
Wb2.Close
Kill FilePath & FileName & xFile
Set OutlookMail = Nothing
Set OutlookApp = Nothing
Ws.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

Remarque : Dans le code ci-dessus, vous pouvez modifier les informations suivantes selon vos besoins.

  • .To = "skyyang@extendoffice.com"
  • .CC = ""
  • .BCC = ""
  • .Subject = "information de kte"
  • .Body = "Bonjour, veuillez vérifier et lire ce document."

3. Ensuite, appuyez sur la touche F5 pour exécuter ce code, et une boîte de dialogue apparaîtra pour vous rappeler de sélectionner la plage que vous souhaitez envoyer. Voir capture d'écran :

vba code to select the data range

4. Cliquez ensuite sur OK, et une autre boîte de dialogue apparaîtra. Une fois la barre de progression terminée, cliquez sur Autoriser, et la plage spécifique de cellules sera envoyée à votre destinataire en tant que pièce jointe.

click Allow to send the selected range as attachment

a screenshot of kutools for excel ai

Découvrez la magie d'Excel avec Kutools AI

  • Exécution intelligente : Effectuez des opérations sur les cellules, analysez les données et créez des graphiques, le tout piloté par des commandes simples.
  • Formules personnalisées : Générez des formules adaptées pour rationaliser vos flux de travail.
  • Codage VBA : Écrivez et implémentez du code VBA sans effort.
  • Interprétation des formules : Comprenez facilement des formules complexes.
  • Traduction de texte : Surmontez les barrières linguistiques dans vos feuilles de calcul.
Améliorez vos capacités Excel avec des outils alimentés par l'IA. Téléchargez maintenant et découvrez une efficacité sans précédent !

arrow blue right bubbleEnvoyer une plage de cellules dans le corps de l'e-mail depuis Excel avec du code VBA

Si vous souhaitez envoyer une plage spécifique en tant que partie du corps du message depuis Excel, vous pouvez également appliquer le code VBA suivant pour résoudre ce problème.

1. Activez votre feuille de calcul et maintenez les touches ALT + F11 enfoncées pour ouvrir la fenêtre Microsoft Visual Basic for Applications.

2. Cliquez sur Insertion > Module, puis collez le code suivant dans la fenêtre Module.

Code VBA : envoyer une plage de cellules dans le corps de l'e-mail depuis Excel

Sub EmailRange()
'Update 20131209
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
WorkRng.Select
ActiveWorkbook.EnvelopeVisible = True
With ActiveSheet.MailEnvelope
    .Introduction = "Please read this email."
    .Item.To = "skyyang@extendoffice.com"
    .Item.Subject = "information of kte"
    .Item.Send
End With
Application.ScreenUpdating = True
End Sub

Remarque : Dans le code ci-dessus, vous pouvez modifier les informations suivantes selon vos besoins.

  • .Introduction = "Veuillez lire cet e-mail."
  • .Item.To = "skyyang@extendoffice.com"
  • .Item.Subject = "information de kte"

3. Ensuite, appuyez sur la touche F5 pour exécuter ce code, et une boîte de dialogue apparaîtra pour vous rappeler de sélectionner la plage que vous souhaitez envoyer.

vba code to select the data range

4. Cliquez ensuite sur OK, et une autre boîte de dialogue apparaîtra. Une fois la barre de progression terminée, cliquez sur Autoriser, et la plage spécifique de cellules sera envoyée à votre destinataire dans le corps du message.

click Allow to send the selected range as email body

Remarques :

1. Ces codes ne fonctionnent que si Outlook est configuré comme programme de messagerie.

2. Après avoir envoyé la feuille de calcul actuelle, vous pouvez aller dans Outlook pour vérifier si l'e-mail a bien été envoyé.


Articles connexes :

Comment envoyer uniquement une feuille de calcul via Outlook depuis Excel ?

Comment envoyer le classeur actuel via Outlook depuis Excel ?

Meilleurs outils de productivité pour Office

🤖 Kutools AI Aide : Révolutionner l'analyse des données basée sur : Exécution intelligente   |  Générer du code  |  Créer des formules personnalisées  |  Analyser les données et générer des graphiques  |  Invoquer les Fonctions améliorées
Fonctionnalités populaires : Trouver, mise en évidence ou marquer les doublons   |  Supprimer les lignes vides   |  Consolider les colonnes ou les cellules sans perdre de données   |   Arrondir sans formule ...
Super RECHERCHEV : RECHERCHEV avec critères multiples    RECHERCHEV avec valeurs multiples  |   Recherche multi-feuilles   |   Correspondance floue ....
Liste déroulante avancée : Créer rapidement une liste déroulante   |  Liste déroulante dépendante   |  Liste déroulante multi-sélection ....
Gestionnaire de colonnes : Ajouter un nombre spécifique de colonnes  |  Déplacer les colonnes  |  Basculer l'état de visibilité des colonnes masquées  |  Comparer les plages & colonnes ...
Fonctionnalités en vedette : Mise au point de la grille   |  Affichage de conception   |   Barre de formule améliorée    Gestionnaire de classeur & feuille de calcul   |  Bibliothèque dAutoTexte (Auto Text)   |  Sélecteur de date   |  Fusionner les données   |  Crypter/Déchiffrer les cellules    Envoyer un e-mail par liste   |  Super Filtre   |   Filtre spécial (filtrer les cellules avec une police en gras/italique/barré...) ...
Top15 ensembles d'outils12 outils de texte (Ajouter du texte, Supprimer des caractères spécifiques, ...)   |   50+ types de graphiques (Diagramme de Gantt, ...)   |   40+ formules pratiques (Calculer lâge en fonction de la date de naissance, ...)   |   19 outils d'insertion (Insérer un code QR, Insérer une image depuis le chemin, ...)   |  12 outils de conversion (Convertir en mots, Conversion de devises, ...)   |  7 outils de fusion & division (Fusion avancée des lignes, Diviser les cellules, ...)   |   ... et plus

Boostez vos compétences Excel avec Kutools pour Excel, et découvrez une efficacité sans précédent. Kutools pour Excel propose plus de300 fonctionnalités avancées pour augmenter la 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 facilite grandement votre travail

  • Activez la modification 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é de50 %, et réduit des centaines de clics de souris pour vous chaque jour !