Comment envoyer / envoyer par e-mail une plage de cellules via Outlook à partir d'Excel?
Avez-vous déjà souffert d'un problème qui, après avoir terminé un rapport dans une feuille de calcul, et que vous devez envoyer à une plage de cellules de cette feuille de calcul contenant des données importantes pour votre destinataire spécifique. Existe-t-il des moyens rapides pour envoyer par e-mail cette plage à partir d'Excel sans ouvrir Outlook?
Envoyer une plage de cellules en pièce jointe à partir d'Excel avec le code VBA
Envoyer la plage de cellules en tant que corps d'Excel avec le code VBA
Envoyer une plage de cellules en pièce jointe à partir d'Excel avec le code VBA
Le code VBA suivant peut vous aider à envoyer votre plage sélectionnée en tant que pièce jointe dans Excel. Veuillez faire comme ceci:
1. Ouvrez votre classeur, puis maintenez la touche ALT + F11 clés pour ouvrir le Fenêtre Microsoft Visual Basic pour Applications.
2Cliquez sur insérer > Moduleet collez le code suivant dans le Fenêtre du module.
Code VBA: envoyer une plage de cellules en 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
Notes: Dans le code ci-dessus, vous pouvez modifier les informations suivantes selon vos propres besoins.
- .To = "skyyang @extendoffice.com "
- .CC = ""
- .BCC = ""
- .Subject = "information de kte"
- .Body = "bonjour, veuillez vérifier et lire ce document."
3. Puis clique F5 pour exécuter ce code, et une boîte de dialogue apparaîtra pour vous rappeler de sélectionner une plage que vous souhaitez envoyer. Voir la capture d'écran:
4. Puis clique OK, et une boîte de dialogue apparaîtra, une fois la barre de progression terminée, cliquez sur Autoriser, puis la plage spécifique de cellules a été envoyée à votre destinataire en tant que pièce jointe.
Débloquez Excel Magic 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 sur mesure pour rationaliser vos flux de travail.
- Codage VBA: Écrivez et implémentez du code VBA sans effort.
- Interprétation de la formule: Comprendre facilement des formules complexes.
- Traduction de texte: Brisez les barrières linguistiques dans vos feuilles de calcul.
Envoyer la plage de cellules en tant que corps d'Excel avec le code VBA
Si vous souhaitez envoyer une plage spécifique dans le cadre du corps du message à partir d'Excel, vous pouvez également appliquer le code VBA suivant pour le résoudre.
1. Activez votre feuille de calcul et maintenez la touche ALT + F11 clés pour ouvrir le Fenêtre Microsoft Visual Basic pour Applications.
2Cliquez sur insérer > Moduleet collez le code suivant dans le Fenêtre du module.
Code VBA: envoyer une plage de cellules en tant que corps 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. Puis clique F5 pour exécuter ce code, et une boîte de dialogue apparaîtra pour vous rappeler de sélectionner une plage que vous souhaitez envoyer.
4. Puis clique OK, et une boîte de dialogue apparaîtra, une fois la barre de progression terminée, cliquez sur Autoriser, puis la plage spécifique de cellules a été envoyée à votre destinataire en tant que corps du message.
Notes:
1. Ces codes ne sont disponibles que lorsque Outlook est votre programme de messagerie.
2. Après avoir envoyé la feuille de calcul actuelle, vous pouvez accéder à votre Outlook pour vous assurer que l'e-mail a bien été envoyé.
Articles Liés:
Comment envoyer une feuille de calcul uniquement via Outlook à partir d'Excel?
Comment envoyer le classeur actuel via Outlook à partir d'Excel?
Meilleurs outils de productivité bureautique
Améliorez vos compétences Excel avec Kutools for Excel et faites l'expérience d'une efficacité comme jamais auparavant. Kutools for Excel offre plus de 300 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
- Activer 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 réduit des centaines de clics de souris chaque jour!