Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/02/2012, 22h25   #1
Invité de passage
 
Femme
Inscription : février 2012
Messages : 1
Détails du profil
Informations personnelles :
Sexe : Femme

Informations forums :
Inscription : février 2012
Messages : 1
Points : 0
Points : 0
Par défaut Aide sur l'envoi d'une feuille excel avec vba

Bonjour à tous,

Je suis nouvelle sur ce forum et me tourne vers des experts car je ne trouve pas de solution.

Je voudrais créer un programme qui puisse me permettre d'envoyer une feuille excel automatiquement avec vba.
J'ai un programme qui marche très bien pour l'envoi d'un classeur, mais pas de la feuille.

J'ai Excel 2007 et j'utilise Outlook

Ci-dessous mon code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Sub Envoi_Mail()
Dim appOutlook As Outlook.Application
Dim message As Outlook.MailItem
Dim myRecipient As Object
 
'Lance une session Microsoft Outlook
Set appOutlook = CreateObject("outlook.application")
'Crée un nouveau message
Set message = appOutlook.CreateItem(olmailItem)
Sheets("Running bookings").Select
ThisWorkbook.ActiveSheet.Copy
ActiveWorkbook.SaveAs Filename:="C:\Documents and Settings\Bookings_transfer"
 
ActiveWorkbook.Close
 
 
With message
'Titre, Texte, Destinataires, Pièces jointes du message
.Subject = "Running Forecast"
.Body = "Veuillez trouver ci-joint le Running Forecast du mois dernier." & Chr(13) & "Sincères Salutations, " & Chr(13) & "Olivier Chapeau"
.bodyFormat = olFormatHTML
.Recipients.Add ("Toto")
.Attachments.Add ActiveWorkbook.FullName
 
 
'Envoie le message
.send
End With
 
'Quitte l'application Outlook
appOutlook.Quit
 
'Réinitialise l'objet
Set appOutlook = Nothing
End Sub
Merci beaucoup pour votre aide !
MelanieK est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2012, 21h37   #2
Membre du Club
 
Inscription : mars 2009
Messages : 75
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 75
Points : 67
Points : 67
Citation:
Code :
1
2
Sheets("Running bookings").Select
ThisWorkbook.ActiveSheet.Copy
A cet endroit, tu copies la feuille "Running bookings".

Citation:
Code :
1
2
ActiveWorkbook.SaveAs Filename:="C:\Documents and Settings\Bookings_transfer"
ActiveWorkbook.Close
Ensuite tu enregistres une sauvegarde de ton fichier sous le nom Bookings_transfer (que plus tard tu attache comme pièce jointe à ton message), puis tu ferme le fichier.

Tu n'utilises donc pas la feuille que tu as copiée.
Au lieu d'enregistrer une copie du classeur actif, tu devrais créer un nouveau fichier, et coller la feuille que tu as copiée dedans, et envoyer ce nouveau classeur en pièce jointe.

Un peu d'aide pour créer et pour coller la feuille copiée., ou alors ici aussi.

Bon courage
__________________
Il y a 10 types de geeks, ceux qui savent compter en binaire et les autres...

Un geek, c'est quelqu'un qui croit qu'il y a 1024m dans 1km...
yorgh1234 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2012, 21h51   #3
Membre du Club
 
Inscription : mars 2009
Messages : 75
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 75
Points : 67
Points : 67
En me baladant, j'ai trouvé ça :
Comment envoyer une plage de cellules sélectionnées d'Excel dans un nouvel E-mail ?
Je pense que ça peut être une autre solution.

A plus
__________________
Il y a 10 types de geeks, ceux qui savent compter en binaire et les autres...

Un geek, c'est quelqu'un qui croit qu'il y a 1024m dans 1km...
yorgh1234 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h41.


 
 
 
 
Partenaires

Hébergement Web