Envoyer par email une feuille précise du classeur

  • Initiateur de la discussion Initiateur de la discussion pasquetp
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

pasquetp

XLDnaute Occasionnel
Bonjour,

Je vous contacte pour demander de l'aide sur le problème suivant.

Je fais ma propre compta perso: je mets a jour depuis chez moi et au travail.

Pour que les données soient bien les mêmes, j’envoie manuellement telle feuille par email que j'importe ensuite sur le classeur. processus répété a chaque lieu.

je souhaiterai savoir comment par macro envoyer par email une des feuilles. je précise que j'utilise outlook.

J'espère que vous pourrez m'aider

Merci d'avance

Pierre
 
Re : Envoyer par email une feuille précise du classeur

Bonsoir pasquetp,

Avec cette macro, elle envoie l'onglet actif :

VB:
Option Explicit
Sub Envoi_Mail()
Dim OutApp As Object, OutMail As Object, Fichier$
   Set OutApp = CreateObject("Outlook.Application")
   Set OutMail = OutApp.CreateItem(0)
   ActiveSheet.Copy
   Fichier = ThisWorkbook.Path & "\" & ActiveSheet.Name & ".xlsx"
   ActiveWorkbook.SaveCopyAs Fichier
   On Error Resume Next
   With OutMail
     .to = "adresse mail du destinataire"
     .Subject = "Ton Objet"
     .Body = "Ton texte"
     .Attachments.Add Fichier
     .Display 'pour voir et modifier ou envoyer
    '.Send  'Pour envoyer directement
  End With
   On Error GoTo 0
   ActiveWorkbook.Close 0
   Kill Fichier
   Set OutMail = Nothing
   Set OutApp = Nothing
End Sub

A te relire

Martial

Edit : Modification macro pour fermeture du fichier créé et déclaration de la variable OutApp
 
Dernière édition:
Re : Envoyer par email une feuille précise du classeur

c'est le top

ca marche comme il faut

Il reste un tout petit détail: j'ai des noms de case nommé: du coup j'ai un petit message d'erreur: le nom "end1" entre en conflit avec une réference de plage valide.....

Peut tu imbriquer dans le code quelque chose pour supprimer la référence du second classeur crée (pas de l'originale)

Merci d'avance et je prefere répéter: bon boulot

Pierre
 
Re : Envoyer par email une feuille précise du classeur

Bonjour Pierre,

De quoi s'agit-il exactement ? De liaisons ou de Plages nommées ?

Pour les liaisons :
ActiveWorkbook.BreakLink Name:=ThisWorkbook.Path & "\Classeur1.xlsx", _
Type:=xlExcelLinks
Pour les Plages nommées :
ActiveWorkbook.Names("LeNomDeLaPlage").Delete

A positionner juste devant
ActiveWorkbook.SaveCopyAs Fichier

A+

Martial
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour