Envoyer une feuille excel par Mail

Hilaire

Membre confirmé
12 Février 2005
31
1
56
Bonjour à tous,

Je souhaiterais créer un bouton dans Excel (2004 Mac) qui me permette d'envoyer la feuille active par mail, via Entourage (2004 Mac), comme le fait le menu "envoyer vers un destinataire du message en tant que pièce jointe...), mais bon, justement sans passer par ce menu.
J'ai trouvé pas mal de choses sur le net mais en recopiant les Macro données en exemple ça ne fonctionne pas et j'ai des messages qui me laissent un peu perplexe (Erreur d'exécution '9', ...)

Quelqu'un peut m'aider ?

Merci

Hilaire
 
Je souhaiterais créer un bouton dans Excel (2004 Mac) qui me permette d'envoyer la feuille active par mail, via Entourage (2004 Mac), comme le fait le menu "envoyer vers un destinataire du message en tant que pièce jointe...), mais bon, justement sans passer par ce menu.
Ah, l'envoi du classeur par macro, ça a été un de mes grands moments, il y a quelques années ! La bataille avec le protocole MAPI (inexistant sous Mac OS X, mais il fallait le deviner),

En fait, il faut impérativement passer par un bout d'AppleScript à l'intérieur de la macro. Après, il y a plusieurs possibilités en fonction de ce que tu veux faire précisément. Mais bon, voilà déjà une macro qui permet d'envoyer le classeur actif :
Bloc de code:
Sub AllonsY()
' Pour envoyer le classeur actif en PJ au destinataire en A1
' avec l'objet du message en A2 (on peut rajouter "content" ou "sender")
    Dim Str As String, temp As String
    ActiveWorkbook.Save
    TheRecipient = Range("A1").Text
    TheSubject = Range("A2").Text
    TheBook = ActiveWorkbook.FullName
    Str = "tell application ""Microsoft Entourage""" & _
        vbCr & "make new outgoing message with properties" & _
        "{recipient:""" & TheRecipient & """,subject:""" & _
        TheSubject & """,attachment:""" & TheBook & """}" & _
        vbCr & "move the result to out box folder" & _
        vbCr & "end tell"
    temp = MacScript(Str)
End Sub
Après, tu adaptes en fonction de tes besoins, évidemment.
 
oh là là, merci Aliboron mais tu t'adresses à un béotien de la Macro.
Alors, pour adapter pas évident justement.

Imaginons que ma feuille s'appelle "Feuil1" que mon document s'appelle "Document1" et que mon adresse soit "[email protected]" et que j'envoie tout ce petit monde via Entourage.

Peux-tu me dire à quoi va ressembler ma macro ?

Merci beaucoup de ton aide.

Eric
 
tu t'adresses à un béotien de la Macro.
Il faut donc y voir une excellente occasion pour t'y mettre et découvrir le monde de la programmation ;)

Voici une version qui devrait te permettre de faire ce que tu souhaites : faire une copie de la feuille "MaFeuille" du classeur "MonClasseur.xls", l'enregistrer sous le nom "NouveauClasseur.xls" sur le bureau (l'utilisateur se nommant "hilaire") puis créant un message avec l'objet "Mon beau message", adressé à "[email protected]" et, bien entendu, le nouveau classeur en PJ.

Bloc de code:
Sub AllonsY()
' Pour envoyer la feuille active en PJ à "mondestinataire"
' enregistre au préalable une copie de la feuille sur le bureau
    Dim Str As String, temp As String
    Workbooks("MonClasseur.xls").Sheets("MaFeuille").Copy
    ActiveWorkbook.SaveAs ("Disque Dur:users:hilaire:Desktop:NouveauClasseur.xls")
    TheRecipient = "[email protected]"
    TheSubject = "Mon beau message"
    TheBook = ActiveWorkbook.FullName
    Str = "tell application ""Microsoft Entourage""" & _
        vbCr & "make new outgoing message with properties" & _
        "{recipient:""" & TheRecipient & """,subject:""" & _
        TheSubject & """,attachment:""" & TheBook & """}" & _
        vbCr & "move the result to out box folder" & _
        vbCr & "end tell"
    temp = MacScript(Str)
End Sub

Il ne te reste qu'à personnaliser le tout, l'enregistrer dans un module du classeur d'origine (ou le classeur de macros personnelles, ou encore où tu veux) et l'affecter à un bouton...