Excel Downloads
Forum

Précédent   Excel Downloads Forums > Excel > Forum Excel


Réponse
 
LinkBack Outils de la discussion
Vieux 01/09/2007, 18h06   #1 (permalink)
XLDnaute Occasionel
 
Date d'inscription: janvier 2006
Messages: 133
Par défaut Envoi par email automatique d'une plage de cellule bien définie.

Bonjour à tous !

Es ce possible ?
En conservant la mise en page d'une feuille, d'envoyer celle ci par e mail, mais sous format jpeg ?

Plus précisément, que le destinataire n'est pas à l'ouvrir avec excel, mais avec windows apercu, ou pdf, ou autre ??



NB : Je pensais faire un copie coller de ces cases, vers paint. puis l'enregistrement dans un dossier, puis l'envoi par email, puis la supression de cette feuille, et tout cela.. EN UN CLIC ^^

Si quelqu'un pense que c'est possible. Je n'ai rien trouver de réellement interessant sur le net. C'est pour mon travail, et il faut à tout prix que je puisse envoyer sous un autre format.

Grand merci pour ceux qui s'y pencheront dessus


EDIT : Par contre, a savoir, rien ne rentre sur l'écran. Pas d'imprim ecran possible, à moins de pouvoir en combiner plusieurs...

Dernière modification par Jeanbulle ; 01/09/2007 à 18h09.
Jeanbulle est déconnecté   Réponse avec citation
ANNONCES
Vieux 02/09/2007, 18h28   #2 (permalink)
XLDnaute Impliqué
 
Avatar de tatiak
 
Date d'inscription: février 2005
Messages: 554
Par défaut Re : Envoi par email automatique d'une plage de cellule bien définie.

B'soir JeanBulle

Le code suivant envoie à l'adresse inscrite dans A1 la plage A2:H10 transformée en fichier jpeg.
(La référence Microsoft Outlook Library est à activer)

Code:
Sub Envoi_Image()
    Call Export_Image_de_Plage
    Call Envoi_Outlook
End Sub

Sub Export_Image_de_Plage()
Dim ndf As String
Dim Source As Range, Gr As Object
    ndf = ActiveWorkbook.Path & "\ImageDePlage.jpg"
    Set Source = Range("Feuil1!A2:H10")
    Source.CopyPicture xlScreen, xlPicture
    Set Gr = Sheets(1).ChartObjects.Add(0, 0, Source.Width, Source.Height)
    Gr.Chart.Paste
    Gr.Chart.Export ndf, "JPG"
    Gr.Delete
    Set Gr = Nothing
    Set Source = Nothing
End Sub

Sub Envoi_Outlook() ' Activer la référence : "Microsoft Outlook Library" (menu outils/références)
Dim ol As New Outlook.Application
Dim olmail As MailItem
    Set ol = New Outlook.Application
    Set olmail = ol.CreateItem(olMailItem)
    With olmail
        .To = Range("A1").Value
        .Subject = "Envoi automatisé"
        .Body = "Envoi automatisé de : ImageDePlage.jpg"
        .Attachments.Add ActiveWorkbook.Path & "\ImageDePlage.jpg"
        .Send
   End With
End Sub
(code non testé : j'ai pas outlook)
__________________
Visitez le Blog-à-tatiak!
tatiak est déconnecté   Réponse avec citation
Vieux 03/09/2007, 03h58   #3 (permalink)
XLDnaute Occasionel
 
Date d'inscription: janvier 2006
Messages: 133
Par défaut Re : Envoi par email automatique d'une plage de cellule bien définie.

Bonsoir
Super merci de ton aide.
Je teste ca des que je reprends le travail

Mais, obligation de passer par outlook ? ... a la rigueur.. je l'installe :'( ^^
Jeanbulle est déconnecté   Réponse avec citation
Vieux 03/09/2007, 20h04   #4 (permalink)
XLDnaute Impliqué
 
Avatar de tatiak
 
Date d'inscription: février 2005
Messages: 554
Par défaut Re : Envoi par email automatique d'une plage de cellule bien définie.

Salut,

Pas de lézard, on peut directement passer en SMTP sans utiliser de logiciel de messagerie.
En activant les références :
* Microsoft ADO Ext ...
* et Microsoft CDO for windows 2000 library
(et en spécifiant les identifiants de connection dans le code)

Code:
Sub Envoi_Image()
    Call Export_Image_de_Plage
    Call Envoi_Mail
End Sub

Sub Export_Image_de_Plage()
Dim ndf As String
Dim Source As Range, Gr As Object
    ndf = ActiveWorkbook.Path & "\ImageDePlage.jpg"
    Set Source = Range("Feuil1!A2:H10")
    Source.CopyPicture xlScreen, xlPicture
    Set Gr = Sheets(1).ChartObjects.Add(0, 0, Source.Width, Source.Height)
    Gr.Chart.Paste
    Gr.Chart.Export ndf, "JPG"
    Gr.Delete
    Set Gr = Nothing
    Set Source = Nothing
End Sub

Sub Envoi_Mail()
Dim iMsg As New CDO.Message
Dim iConf As New CDO.Configuration
Dim Flds As Object
    Set Flds = iConf.Fields
    With Flds
        .Item(cdoSendUsingMethod) = cdoSendUsingPort
        .Item(cdoSMTPServer) = "Serveur SMTP" ' A spécifier
        .Item(cdoSMTPConnectionTimeout) = 10
        .Item(cdoSMTPAuthenticate) = cdoBasic
        .Item(cdoSendUserName) = "Identifiant de connection" ' A spécifier
        .Item(cdoSendPassword) = "Mot de passe de connection" ' A spécifier
        .Item(cdoURLProxyServer) = "server:80"
        .Item(cdoURLProxyBypass) = "<local>"
        .Item(cdoURLGetLatestVersion) = True
        .Update
    End With
    With iMsg
        Set .Configuration = iConf
        .To = "destinataire@domaine.com"  ' Adresse mail
        .From = "expéditeur@domaine.com" ' Ton Adresse mail
        .Subject = "Envoi automatisé"
        .TextBody = "Envoi automatisé de : ImageDePlage.jpg"
        .AddAttachment ActiveWorkbook.Path & "\ImageDePlage.jpg"
        .Send
    End With
End Sub
Cette fois-ci le code est testé et fonctionne chez moi!
__________________
Visitez le Blog-à-tatiak!

Dernière modification par tatiak ; 03/09/2007 à 20h07.
tatiak est déconnecté   Réponse avec citation
Vieux 04/09/2007, 20h49   #5 (permalink)
XLDnaute Occasionel
 
Date d'inscription: janvier 2006
Messages: 133
Par défaut Re : Envoi par email automatique d'une plage de cellule bien définie.

Pola la la la la la la !!!!!

Je dois t'appeler DIEU C'est ca ??

Je viens de le tester, en modifiant ce qui est indiqué, et en activant les libraries !
Ca marche niquel...
Je suis vraiment EPATE !!
Tu as trouvé ca comment ?

Grand merci ... vraiment !
Jeanbulle est déconnecté   Réponse avec citation
ANNONCES
Réponse

Liens sociaux

Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui

Discussions similaires
Discussion Auteur Forum Réponses Dernier message
compter ds plage bien définie ludovic Forum Excel 4 15/04/2005 09h13
formule plus grand que la valeur d'une cellule definie Evelynetfrancois Forum Excel Downloads - Archives 7 19/09/2004 18h46
Envoi automatique d'un fichier par mail à une heure bien précise Patrick Forum Excel Downloads - Archives 0 22/03/2004 17h22
Envoi Email Pedro Forum Excel Downloads - Archives 2 01/10/2003 02h41
envoi d'une feuille par email bradwen Forum Excel Downloads - Archives 9 07/02/2003 17h39


Fuseau horaire GMT +2. Il est actuellement 19h35.


(C) 2006 Excel Downloads